본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 2903번 중앙 이동 알고리즘 문제

by 모두의 케빈 2023. 4. 8.

■ 2903번 중앙 이동 알고리즘 문제

 

출처: 백준 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))

 

댓글