MY MEMO

[CODEGROUND] 윤목의 달인 본문

ALGORITHM/CODEGROUND

[CODEGROUND] 윤목의 달인

l_j_yeon 2017. 5. 10. 22:17

1. 평균값이 들어온다 (0<=평균<=5, 소수점 아래 9자리)

2. 10의 12승을 곱한다 -> 정수를 만들기 위해

3. 계산한 값과 10의 12승의 수의 최소공약수를 구하고 나눈다 -> 최소를 만들기 위하여

4. 5부터 나눈후 몫을 저장하고 나머지를 돌린다.

5. 만약 값이 현재의 값 보다 작다면 현재의 값을 1빼준다

6. 나누는 값이 0이 될때까지 반복한다


14.3점이 나왔다.

이유는..모르겠다..ㅠㅠ



이유를 알았다.

바로 여기서는 어떻게든 그 합만 나오면 되지만

합만 나오면 되는 것이 아닌 사용한 숫자의 개수도 calculate와 같아야하기 때문이다.

그렇다면 어떻게 값을 바꿔야할까.. 


예를들어 합이 6을 3개의 숫자로 만들어야된다고 가정해보자


1. 맨 처음 5를 하나 사용해보면 남은 숫자는 1 개수는 2이다. 


숫자 1을 두 개로 쪼갤 수 없다.


2. 4를 사용해보자. 4를 사용하면 남은 숫자는 2 개수는 2이다.


즉 남은 숫자를 모두 1로 넣어주면 가능해진다.


아래의 값은 정해진 개수와 숫자로 정해진 합을 만들어야할때 아주 유용하게 쓰일 것같다.


공유된 답을 보고 공부해서 알게되었다..

이렇게 배워가는거겠지..ㅠㅠㅠㅠ 





'ALGORITHM > CODEGROUND' 카테고리의 다른 글

[CODEGROUND] 랩뮤직  (0) 2017.05.16
[CODEGROUND] 재활용  (0) 2017.05.16
[CODEGROUND] 부분 배열  (0) 2017.05.09
[CODEGROUND] 김씨만 행복한 세상  (0) 2017.05.08
[CODEGROUND] 수강신청  (0) 2017.05.08
Comments