[2292번] 벌집 최단경로 구하기

[2292번] 벌집 최단경로 구하기

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int i = 0, cnt = 1; if(num==1) System.out.println(1); else { int tmp = num - 1; while (tmp>0) { i += 6; tmp -= i; cnt++; } System.out.println(cnt); } } }

* 실행 시간이 오래 걸렸는데(212ms), Scanner를 사용하면 어쩔 수가 없는 것 같다. BufferedReader 쓰면 훨씬 빠르다는데, 아직 배우지 않은데다 검색해서 알아보니 예외처리도 반드시 필요하다고 해서... 예외처리를 배우고 나면 써봐야겠다.

* 이런 코드를 짜면 짤수록 1과의 싸움인 것 같다. 늘 숫자 하나 차이로 정답과 오답이 갈린다. 이 문제의 경우에는 cnt=1 / num-1 / tmp>0 등... 모든 경우의 수를 고려해야 하니 당연한 걸까. 아무튼 생각을 꼼꼼하게 해야지...

from http://javachip-dev.tistory.com/19 by ccl(A) rewrite - 2021-11-09 16:27:41