https://www.acmicpc.net/problem/17478
풀이과정
재귀 함수는 함수 내부에서 자기 자신을 추가로 호출하는 함수이다.
때문에 조건에 따른 제어가 없을 경우 무한이 반복 호출되는 함수가 된다.
제출 Code
let count = Int(readLine()!)!
let underBar = "____"
print("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.")
answer(c: 0)
func answer(c: Int) {
print(String(repeating: underBar, count: c) + "\"재귀함수가 뭔가요?\"")
if c < count {
print(String(repeating: underBar, count: c) + "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.")
print(String(repeating: underBar, count: c) + "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.")
print(String(repeating: underBar, count: c) + "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"")
answer(c: c + 1)
} else {
print(String(repeating: underBar, count: c) + "\"재귀함수는 자기 자신을 호출하는 함수라네\"")
}
print(String(repeating: underBar, count: c) + "라고 답변하였지.")
}
'코테' 카테고리의 다른 글
[BFS] 백준 실버1 2178번: 미로 탐색(Swift) (0) | 2023.05.16 |
---|---|
[다이나믹 프로그래밍] 백준 실버3 1463번: 1로 만들기(Swift) (0) | 2023.05.16 |
[그리디] 백준 브론즈1 4796번: 캠핑(Swift) (0) | 2023.05.15 |
[이분 탐색] 백준 실버2 2805번: 나무 자르기(Swift) (0) | 2023.05.12 |
[완전 탐색] 백준 브론즈2 2231번: 분해합(Swift) (0) | 2023.05.12 |