알고리즘테스트/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