Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_Java] 구슬을 나누는 경우의 수 본문

알고리즘테스트/Programmers

[Lv.0_Java] 구슬을 나누는 경우의 수

코딩거인 2023. 8. 22. 17:25
728x90

class Solution {
    public int solution(int balls, int share) {
        long answer = 1;
        int shareIndex = 1;
        for(int i = share+1; i <= balls; i++){
            answer *= i;
            answer /= shareIndex;
            shareIndex++;
        }
        
        return (int)answer;
    }
}

코드는 이렇다....

class Solution {
    public int solution(int balls, int share) {
        int answer = 0;
        int son = 1;
        int mom1 = 1;
        int mom2 = 1;
        for(int i = 1; i <= balls; i++){
            son *= i;
        }
        for(int i = 1; i <= share; i++){
            mom2 *= i;
        }
        if(balls - share != 0){
            for(int i = 1; i <= balls-share; i++){
                mom1 *= i;
            }    
        }else{
            mom1 = 1;
        }
        
        answer = son/(mom1* mom2);
        
        return answer;
    }
}

내가 처음에 마지막 힌트를 보고 멍청하게 작성했던 코드지만 테스트는 통과했지만 채점에서 반 정도 틀렸었고 뭔가를 놓치고 있는듯 해서.... 부끄럽지만 작성해 두는 실패한 코드이다....

결국 블로그를 참고해서 풀었는데 블로그를 찾다가 진짜 너무 이쁘고 간결하게 작성한 코드를 발견해서 작성해서 풀었다....

참고 블로그...!

https://ulmu0426.tistory.com/6

 

[프로그래머스 코딩테스트 연습] 구슬을 나누는 경우의 수

문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어

ulmu0426.tistory.com

 

728x90

'알고리즘테스트 > Programmers' 카테고리의 다른 글

[Lv.0_Java] 간단한 논리 연산  (0) 2023.08.22
[Lv.0_Java]2차원으로 만들기  (0) 2023.08.22
[Lv.0_Java] 모스부호(1)  (0) 2023.08.22
[Lv.0_Java] qr code  (0) 2023.08.18
[Lv.0_Java] 리스트 자르기  (0) 2023.08.18