jyamethyst21 님의 블로그

백준 24723번- '녹색거탑' (PYTHON 풀이) 본문

CODING 💻

백준 24723번- '녹색거탑' (PYTHON 풀이)

jyamethyst21 2025. 10. 31. 00:09

문제:

 

예시가 잘 나와있어서 특별하게 설명할 건 없고 N이 주어졌을 때 그 위치에서부터 바닥까지 갈 수 있는 경우의 수를 출력하면 된다.

이러한 경우의 규칙만 찾으면 코드를 쓰는 건 어렵지 않다. 풀이 파트에서 설명해보겠다.

 

 

풀이:

N = int(input())

if N == 1:
    print(2)
else:
    print(2**N)

우선 정답 코드는 다음과 같다.

처음에 규칙 찾기 전에는 N이 1일 경우는 예시에 나와있어서 그대로 적었는데 이렇게 if문 쓸 필요 없이 바로 print로 하면 된다.

 

자세히 살펴보면 녹색 거탑은 N층짜리이며, 맨 윗층에서 시작해서 아래층까지 내려온다. 각 층에서는 왼쪽과 오른쪽 중 하나만 고를 수 있다. 즉, 이는 각 층마다 2가지 선택지를 갖는, 총 N번의 선택 과정이 있는 구조를 의미한다.

예를 들어, 1층일 때 가능한 경로는 왼쪽(L), 오른쪽(R)이니 경우의 수는 2가지이며, 2층일 땐 1층에서 L을 고를 때 다음층도 L 또는 R, 1층에서 R을 고를 때 다음층도 L 또는 R 이런식으로 4가지의 경우의 수가 발생한다.

3층일 때도 이런식으로 하면 LLL, LLR, LRL, LRR, RLL, RLR, RRL, RRR 총 8가지의 경우의 수가 나온다.

 

여기까지 해서 규칙을 살펴보면 결과적으로, 2^N 만큼 숫자가 커진다는 것을 알 수 있고 이를 코드로 작성하면 위와 같이 작성된다.

마치 동전 뒤집기 경우의 수와 비슷하다. (2가지니까)