■ 2903번 중앙 이동 알고리즘 문제
■ 코드 풀이
코드 자체는 심플한데, 아이디어를 떠올리는게 어려웠던 것 같습니다. 문제를 단순히 하면, 정사각형이므로 한 변에 점이 몇 개씩 늘어나는지만 코드로 구현하면 됩니다. 저는 파이썬 string type의 특성을 활용하여 이를 구현했습니다.
초기 점의 상태를 dot이라고 선언하고 값으로 별표 2개, '**' 를 넣어 줍니다. 여기서 dot은 누적되어 관리되어야 합니다. 문제에서 보면 N = 2는 N = 1인 상태에서 점을 추가한 것이니까요. 누적 관리를 위한 변수를 따로 k라고 선언하겠습니다.
마지막으로 점을 추가하는 규칙은 간단합니다. 점과 점 사이에 하나의 점을 찍는 것이므로 len(dot) -1 만큼 찍어주면 됩니다. 그래서 결과적으로 아래와 같이 간단하게 코드를 구현할 수 있습니다.
N = int(input())
dot = '**'
k = 0
while k != N:
k += 1
dot = dot + '*' * (len(dot) - 1)
print(len(dot)*len(dot))
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 2869번 달팽이는 올라가고 싶다 문제 (0) | 2023.04.10 |
---|---|
[백준/Python] 2292번 벌집 문제 (0) | 2023.04.09 |
[백준/Python] 2720번 세탁소 사장 동혁 문제 (0) | 2023.04.07 |
[백준/Python] 11005번 진법 변환2 문제 (0) | 2023.04.06 |
[백준/Python] 2745번 진법 변환 문제 (0) | 2023.04.05 |
댓글