Algorithm - ETC CodingTest Tip
- Java로 코딩테스트를 준비하며 부족한 부분을 공부하기 위해 정리하였음.
- 코딩테스트 기타 정리내용임.
1. 시간복잡도를 잘 생각하여야 한다.
-
특히 문제에 입력값 범위를 잘 보고 생각
-
입력 값이 N이 1보다크고 100보다 작다이면서 1초이내에 수행해야 된다고 하면,
-
3중 for문을 해도 Run Time Error가 안 생긴다.
2. 같은 배열에서 중복없이 for문을 돌릴 경우
- i=0, j=i+1, l=j+1 로 하면 됨.
3. Scanner 와 BufferedReader, System out print 와 BufferedWriter 의 차이
-
위의 함수들은 비슷한 기능을 하지만 속도와 효율성 면에서 차이를 보인다.
-
전자의 함수들은 한 문자 한 문자 키보드의 입력에 따라 프로그램에 전달하지만
-
후자의 함수들은 메모리 버퍼에 문자들을 보관하고 있다가
-
버퍼가 가득 차거나 버퍼 플러시(flush)가 되는 순간 프로그램에 전달한다.
-
즉, 이벤트 발생 시 건별로 데이터를 이동시키는 것보다 버퍼를 이용해 데이터의 이동을 최소화한 방식이 속도와 효율 면에서 유리하다.
-
다만 Buffered 는 String 타입으로만 가능하다.