개발 공부용

재귀 | 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 본문

코딩 테스트

재귀 | 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱

솝제로 2025. 11. 17. 12:18
문제
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해라.

 

입력
  • 테스트 케이스는 10개
  • 첫 줄: 테스트 케이스 번호
  • 두번째 줄: N, M이 공백을 사이에 두고 주어짐
1
9 8
2
2 8
...

 

출력
#{테스트케이스 번호} {거듭제곱 값}
#1 43046721
#2 256

 

 

풀이
def cal(result, num, cnt):
    result *= num
    cnt -= 1
    if cnt == 0:
        return result
    return cal(result, num, cnt)
    
for _ in range(10):
    test_num = int(input().strip())
    N, M = map(int, input().split())
    result = 1
    final_result = cal(result, N, M)
    print(f"#{test_num} {final_result}")

 

 

재귀를 사용하면 간단히 풀 수 있는 문제.

return이 재귀의 핵심인 것을 잊지 말자.