거인의 코딩일지
[Lv.0_Java] 구슬을 나누는 경우의 수 본문
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
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 |