본문 바로가기

verdantjuly/코딩테스트

프로그래머스 코딩테스트 입문 : 구슬을 나누는 경우의 수 (javascript, 20230612)

728x90

 

문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/120840

나의 풀이

function solution(balls, share) {
    // 모두 다른 구슬의 개수 balls
    // 이것을 나눠 줌. share 수 만큼
    // 구슬의 순서는 고려하지 않음
    
    // balls 안에서 첫 번째 share를 뽑을 수 있는 경우의 수 = balls 
    // balls 안에서 두 번째 share를 뽑을 수 있는 경우의 수 = balls - 1

    let answer = 1
    let same = 1
    if(share==1){
    return balls
    }
    else{
        for(i=0 ; i<share ; i++){
           answer = answer * (balls - i)
            same = same * (share - i)
        }
        
        return answer/same
        }
}

 

다른 사람의 풀이


function solution(balls, share) {
    var result = 1;
    while(share > 0){
        result = result * balls / share;
        balls = balls - 1;
        share = share - 1;
    }
    return Math.round(result);
}

 

소감

나...15점 처음 받아 본다. 이거 프로그래머스 오류가 아닌지... 고민 중