작년 여름즈음, 개발자로서 이직을 하기 위한 가장 기본 준비인 코딩테스트를 시작해보기로 했다.
취준 시절 했던 코딩테스트 준비는, 했다고 하기도 민망할 정도의 수준이었기에
이번 준비는 좀 제대로 해보리라 다짐했다.
처음 코딩테스트 준비를 시작하던 당시, 가장 많이 사용되는언어로 1순위는 C++, 2순위는 Python이었다.
그나마 습득이 쉽다고 판단한 Python을 선택하게 되었다.
꽤나 열심히 공부했고, 여러 기업 코딩테스트에도 응시했지만
가장 중요한 것을 간과하고 있었고, 그 문제에 부딪히는 순간이 왔다.
그건 바로, 안드로이드 직무는 Java 혹은 Kotlin으로 언어가 제한되어 있는 기업이 꽤 많다는 것이었다.
쉽고 간결하고, 이미 손에 많이 익은 Python을 포기하고 싶지 않았지만,
안드로이드 개발자의 길을 걷기로 마음을 굳힌 나에게 Python은 큰 메리트가 없는 언어였다.
깔끔하게 포기하고 Java로 공부를 다시 시작하기로 결심했다.
Java로 코딩테스트를 응시하기로 결정한 이상, 코딩테스트를 준비하는데 있어 소소한 팁들에 대해 정리해봤다.
- IDE 사용이 허용되지 않는 경우를 대비하여, 자동완성에 의존하지 않는 것이 좋다.
- 입력을 받는 경우, Scanner 보다는 BufferedReader를 사용하자.
- String을 자를 때 split을 사용하는데, 한줄 입력이 여러번 들어와 파싱하는 경우 split 보다는 StringTokenizer를 사용하자.
- 여러번 출력해야 하는 경우, StringBuilder를 사용하자.
- String의 특정 범위를 자를 때는 substring()을, 배열의 특정 범위를 자를 때는 Arrays.copyOfRange()를 사용하자.
- ArrayList를 정렬할 때는 ArrayList.sort()를, List를 정렬할 때는 Collections.sort()를 사용하자.
- 배열을 초기화하기 위해서는 java.util.Arrays의 Arrays.fill(배열, 초기화값)을 사용하자.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String args[]) throws IOException {
//시간, 메모리의 효율을 높일 수 있음
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String s = st.nextToken();
}
}
참고사이트
https://mangkyu.tistory.com/181?category=761305
https://velog.io/@alstjdwo1601/Java-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%ED%8C%81#10-%EC%A0%95%EB%A0%AC
https://gwang920.github.io/java/Java-condingGrammer/
'코딩테스트' 카테고리의 다른 글
코딩테스트 언어를 Kotlin으로 바꾼 이유(찐 최종) + 소소한 팁 (1) | 2023.08.10 |
---|---|
코딩테스트 언어를 다시 Python으로 언어를 바꾼 이유 + 소소한 팁 (0) | 2023.02.20 |
코딩테스트 사이트, 그리고 알고리즘 공부 순서 (0) | 2022.09.05 |