쥐수의 공부노트

백준 25501번 재귀의 귀재 본문

swift 알고리즘/재귀

백준 25501번 재귀의 귀재

쥐수 2023. 6. 16. 15:16
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