Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- staging_area
- 백준
- 재귀적사고
- 스프링
- string메서드
- 프로그래머스
- SQL
- 4A피드백
- 스레드동기화
- API
- SQ3R
- 파일사용권한
- API명세서
- 동전교환알고리즘
- 날씨API
- 참조변수타입변환
- 자바
- openapi
- 제너릭메서드
- 배열탐색
- 네이티브애플리케이션
- 99클럽
- 프로젝트
- Java
- 루트사용자
- Spring
- 코딩테스트
- 성장형마인드셋
- ChatGPT
- 향상된for문
Archives
- Today
- Total
개발 공부용
재귀 | 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 본문
문제
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이 재귀의 핵심인 것을 잊지 말자.
'코딩 테스트' 카테고리의 다른 글
| 1209. [S/W 문제해결 기본] 2일차 - Sum (0) | 2025.11.21 |
|---|---|
| 문자열 | 1213. [S/W 문제해결 기본] 3일차 - String (1) | 2025.11.21 |
| 팰린드롬 | 1216. [S/W 문제해결 기본] 3일차 - 회문2 (0) | 2025.11.17 |
| 카운팅 정렬 | 1221. [S/W 문제해결 기본] 5일차 - GNS (0) | 2025.11.13 |
| 1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2025.11.13 |