문제 : https://www.acmicpc.net/problem/16666
코드 : https://github.com/NaHwaSa/BOJ_BaekjunOnlineJudge/blob/master/16600/BOJ_16666.java
어렵진 않고 그냥 수학적으로 생각해서 구현하면 되는거긴한데.. 코드보면 알겠지만 이래놓고 실버라니 숭악하다.
0. 일단 매 TC 마다 입력을 받아두고(14line), 1로 시작하는 위치에서 모두 시작해본다. (15~16line)
1. 거기서 부터 일단 k가 0이될 때 까지 돌려본다.(19~22line)
-> 이 때 k가 0이 된다면 그걸로 해당 회차는 끝 (23line)
-> 그렇지 않다면 다음 로직으로
2. 다음으로 중간 부분은 수학적으로 나눗셈을 활용해서 날려버릴 수 있다. (27~29line)
-> 이 때 날려버리면서 0이 된 경우라면, 뒷부분의 0들은 필요가 없는 경우이므로 다시 찾아서 제거한다. (30~35line)
3. 이제 남은건 나머지 남은 k에 대해 직접 찾아가며 다시 돌린다. (36~39line)
4. '0'번에 해당하는 모든 위치 중 최소값을 찾는다. (40line)
로직은 이렇다. 결국 수학적으로 틀리지 않을만한 로직을 단순하게 세워두고 그걸 구현한거긴한데, 앵간한 골드 플래문제보다 구현하기 귀찮았다.
'PS > BOJ' 카테고리의 다른 글
백준 1270 자바 - 전쟁 - 땅따먹기 (BOJ 1270 JAVA) (0) | 2021.10.21 |
---|---|
백준 16497 자바 - 대출 요청 (BOJ 16497 JAVA) (0) | 2021.10.19 |
백준 11376 자바 - 열혈강호 2 (BOJ 11376 JAVA) (0) | 2021.10.17 |
백준 11375 자바 - 열혈강호 (BOJ 11375 JAVA) (0) | 2021.10.16 |
백준 18138 자바 - 리유나는 세일러복을 좋아해 (BOJ 18138 JAVA) (0) | 2021.10.16 |
댓글