문제 : https://www.acmicpc.net/problem/13717
코드 : https://github.com/NaHwaSa/BOJ_BaekjunOnlineJudge/blob/master/13700/BOJ_13717.java
문제에 제시된 '힌트'에서는 하나씩 확인하고 있다. 물론 그렇게 해도 워낙 입력값이 적어서 충분히 가능하지만, 약간만 수식을 넣으면 더 효율좋게 풀 수 있다.
Weedle
12 42
위 입력에 대해 보자. k와 m을 입력 받고 m을 k로 나눈 몫으로 현재 몇개 살 수 있는지 알 수 있다.
cnt = m/k = 42/12 = 3 (몫)
그리고 m은 m%k (나머지)로 변경한다. 그럼 m = m%k = 6이 된다.
그리고 살 수 있을 때 마다 2개를 되돌려받으므로, 몫*2를 m에 더해주면 된다.
따라서 m += cnt*2 가 된다.
이 과정을 m>=k인 동안 계속 반복해주면 된다.
'PS > BOJ' 카테고리의 다른 글
백준 1010 자바 - 다리 놓기 (BOJ 1010 JAVA) (0) | 2021.11.11 |
---|---|
백준 5637 자바 - 가장 긴 단어 (BOJ 5637 JAVA) (0) | 2021.11.10 |
백준 1068 자바 - 트리 (BOJ 1068 JAVA) (0) | 2021.11.09 |
백준 13711 자바 - LCS 4 (BOJ 13711 JAVA) (0) | 2021.11.09 |
백준 16964 자바 - DFS 스페셜 저지 (BOJ 16964 JAVA) (0) | 2021.11.09 |
댓글