[Swift 코테] 백준 2775 부녀회장이 될테야

2022. 4. 15. 12:53Swift 코딩테스트/Swift 백준 문제 풀이

728x90

재귀함수로 문제를 풀었다.

1. 분홍색 = 주황색1 + 주황색 2 + 파랑색

2. 주황색1 + 주황색 2.  초록색

3. 분홍색 = 초록색 + 파랑색

 

f(f, r) = f(f, r - 1) + f(f - 1, r)

 

4. 재귀함수의 endpoint는 (0층 r호) or (f층 1호)

(0층 r호)는 r의 값을 가지고

(f층 1호)는 1의 값을 가진다.

 

 

 

코드

let input = Int(readLine()!)!

for i in 0..<input {
    let floor = Int(readLine()!)!
    let room = Int(readLine()!)!
    print(howmany(f: floor, r: room))
    
}


func howmany(f: Int, r: Int) -> Int {
    if r == 1{
        return 1
    }
    if f == 0 {
        return r
    }
    return howmany(f: f - 1, r: r) + howmany(f: f, r: r - 1)
}

 

 

 

 

박박대가리가 된 나를 실감 중... 넘 충격이어서 포스팅합니다..

백준 잡아먹자구,.. 화이팅

728x90