쥐수의 공부노트
백준 25501번 재귀의 귀재 본문
728x90
풀이 과정 :
팰린드롬을 확인하는 recusion 함수는 문제에서 제공한다. (물론 언어는 Swift가 아니다.)
우리는 recusion 함수에서 조건에 들어가기 전, count를 한개씩 올리면서 함수의 호출 count를 저장한다.
물론 이 count는 return을 할 수 없기에, 입력을 새로 받을때마다 다시 0으로 초기화를 시켜준다.
정답 :
func recusion(array : [String], n : Int , m : Int ) -> Int {
count += 1
if n >= m {
return 1
} else if array[n] != array[m] {
return 0
} else {
return recusion(array: array, n: n+1, m: m-1)
}
}
let n = Int(readLine()!)!
var count = 0
for _ in 0..<n {
count = 0
let input = readLine()!.map{String($0)}
var result = recusion(array: input, n: 0, m: input.count - 1)
print(result, count)
}
더보기
TMI : count를 잘 넣으면 문제없다!
728x90
'swift 알고리즘 > 재귀' 카테고리의 다른 글
백준 11729번 하노이 탑 이동 순서 (0) | 2023.07.11 |
---|---|
백준 4779번 칸토어 집합 (0) | 2023.07.10 |
백준 24060번 알고리즘 수업 - 병합 정렬 1 (0) | 2023.07.10 |
백준 10870번 피보나치 수 5 (0) | 2023.06.16 |
백준 27433번 팩토리얼 2 (0) | 2023.06.16 |