MY MEMO
[CODEGROUND] 윤목의 달인 본문
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