좋은 코드, 효율적인 코드
입력을 어떻게 받느냐 : 60% 개선 가능!
출력 : 30%
알고리즘 : 1%
수학 : 9%
내부적으로 try catch
하고 있지만 받을 때마다 하기 때문에 데이터가 많으면 시간이 오래 걸릴 가능성 있다.
- nextInt()
- nextDouble()
- next()
데이터 앞쪽 whiteSpace는 제거 (띄어쓰기 빈칸 탭 , 데이터 가져감 , witheSpace로 구분)
- nextLine()
데이터 가져감 , 엔터로 구분 , 엔터를 제거 , 쪼개서 사용, 각 타입에 맞게 변환
버퍼를 사용, try catch
를 하지만 한번에 받아서 처리하기 때문에 시간을 절약할 수 있다.
readLine() : 쪼개서 사용, 각 타입에 맞게 변환
String.split(""); //Regular Expression 사용함 (느림)
StringTokenizer st = new StringTokenizer(br.readLine(), ""); // 요놈이 빠르다
long startTime = System.currentTimeMillis(); // 입력을 받은 후에 사용하는것이 좋다.
long endTime = System.currentTimeMillis();
System.out.println(endTime - startTime +"ms");
과제 제출 요령
백준 : Main.java
Main백준_1289원재의메모리복구하기_D3.java
정올 : Main.java
Main정올_1289원재의메모리복구하기_D3.java
SWEA : Solution.java
MainSWEA_1289원재의메모리복구하기_D3.java