저는 원래 파이썬으로 코딩 테스트를 준비했습니다.
여러가지 이유가 있지만 가장 큰 이유 2가지는
1. 처음 사용했고, 처음 코딩테스트 문제를 푼 언어가 파이썬이다.
2. 데이터 관련 학과 특성상 파이썬이 주요 언어이다.
위와 같은 이유 때문에 지금까지는 코딩테스트를 파이썬으로 준비를 했습니다.
그러나 근래에 자주 의문이 생깁니다.
'나는 자바 백엔드 개발자를 준비하는데 파이썬보다는 자바로 코딩 테스트를 준비하는게 좋지 않나?'라는 의문입니다. 실제로 요즘 자바 백엔드 직군의 코딩 테스트 언어를 자바로 제한하는 기업도 점점 늘어나는 추세이고, 부트캠프 또한 마찬가지였습니다.
제가 당장 1~2달 뒤에 코딩 테스트를 봐야하는 상황이라면 자바로 코테 언어를 변경하지 않겠지만 이제 막 3학년을 올라가는 시기이기에 지금이 유일한 기회라고 생각해 자바로 코테 언어를 변경하려고 합니다.
겸사겸사 자바 문법과 자료구조도 공부하는 좋은 기회라고 생각합니다!
자바는 일반적으로 Scanner로 입력을 받고, System.out.println()으로 출력을 한다.
하지만 이 방법은 시간 소모가 크다는 단점이 있다.
BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringTokenizer
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String A = st.nextToken();
String B = st.nextToken();
String C = st.nextToken();
String D = st.nextToken();
BufferedReader를 사용하는 경우
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
BufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 선언
String str = "abcdef"; // 출력할 문자열
bw.write(str); // 출력
bw.newLine(); // 줄바꿈
bw.flush(); // 남아있는 데이터 모두 출력
bw.close();
BufferedWriter는 버퍼를 잡아 놓은 것이기에 반드시 사용후에 flush()/close()를 해주어야한다. close()를 하게되면 출력 스트림을 아예 닫아버리기 때문에 한번 출력후에 다른 것도 출력하고자 한다면 flush()를 사용하면 된다.
StringBuilder
그냥 문자열이기 때문에 매우 간단하다.
StringBuilder sb = new StringBuilder();
sb.append("a");
sb.append("b").append(" ");
sb.append("c").append("\n");
System.out.println(sb);
출처
https://sangwoo0727.github.io/java/JAVA-20_input/
https://wkimdev.github.io/java/2018/04/06/java-io-bufferedreader/
https://rlakuku-program.tistory.com/33
https://code0xff.tistory.com/10