관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 구슬을 나누는 경우의 수 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 구슬을 나누는 경우의 수 (Kotlin)

참깨빵위에참깨빵_ 2022. 12. 27. 19:07
728x90
반응형
구슬을 친구들에게 나눠주려고 한다. 구슬은 모두 다르게 생겼다. 머쓱이가 가진 구슬의 개수 balls, 친구들에게 나눠줄 구슬 개수 share가 매개변수로 주어질 때, ball개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 리턴하는 solution()을 완성하라

 

 

풀지 못했다. 다른 사람들의 풀이를 보고 디버깅해봐도 왜 이렇게 작동하고 풀리는지 이해가 안 되서 계속 고민해 봐야 할 것 같다.

문제 유형 중 완전탐색이라고 쓰여 있었는데 그것을 사용해 푸는 문제 같다.

 

class Solution {
    private fun combination(n: Int, r: Int): Int {
        return if (r == 0 || n == r) {
            1
        } else {
            combination(n - 1, r - 1) +
                    combination(n - 1, r)
        }
    }

    fun solution(balls: Int, share: Int): Int {
        return combination(balls, share)
    }
}
반응형
Comments