** 철저히 주관적이고 개인적인 고민과 결과를 기록하는 글입니다.
코딩테스트 공부를 본격적으로 시작하기 앞서 어떤 언어로 준비할 것인지 많은 고민을 했다.
고민의 내용과 결과를 기록해두고자 한다.
파이썬의 이점
문법이 간결하다.
같은 내용을 구현할 때 드는 시간이 적다.
자바의 이점
어차피 자바를 주력언어로 사용할 거라면 (내 상황) 언어에 익숙해질 수 있다.
미약하게나마 파이썬으로 코딩테스트 공부를 하면서
간결한 문법에 익숙해져 있었다.
간단한 문제를 자바로 풀어보며 차이를 느껴보고자 했다.
자바 코드
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int inputNumber = scanner.nextInt();
for (int i = inputNumber; i > 0; i--) {
System.out.println(i);
}
scanner.close();
}
}
입력 받은 숫자를 1까지 감소시키며 출력하는 아주 간단한 문제를 자바로 구현했다.
이를 파이썬 코드로 바꾸면,
파이썬 코드
n = int(input())
for i in range(n):
print(n - i)
ㅋㅋㅋㅋ
구글에 '코딩테스트 파이썬 vs 자바'로 검색해서 나오는 대부분의 글을 다 읽어봤는데,
많은 사람들이 기업 코딩테스트 수준에서는 자바로 풀어도 시간이 부족할 정도로 나오지 않을 것이라고 말한다.
중급자 이상이 되면, 구현을 떠올리는 과정이 어렵지
익숙한 언어로 구현하는 것은 일도 아니라고 한다.
하지만 분명 구현하거나 수정하는 데 소요되는 시간이 길어지면
그만큼 히든 케이스를 찾거나 고민할 수 있는 시간이 줄어드는 것은 확실할 거라 생각한다.
이런 저런 이유로 오래 고민하다가..
결국 자바로 공부를 시작하기로 했다.
코딩테스트 공부를 하면서 동시에 자바 언어로 여러 알고리즘을 구현해보고 언어에 익숙해지는 과정,
그리고 어려운 문제를 고민하면서 자바의 자료구조도 뜯어볼 수 있을테니,
일석이조의 효과를 누리는 것이 낫겠다고 판단했다.
웬만한 문제 풀이도 구글에 자바로 나와있고, 백준에 많은 코드도 공유되어 있으니
공부하는 데에도 큰 문제가 없겠다는 생각.
단기적으로 공부할 것이 아니고,
장기적으로 내가 목표로 하는 수준(골드 2~3)에 도달하는 데에는 언어가 큰 지장을 주지 않을 것이라고 판단했다.
적어도 자바에 더 익숙해질 수 있으니 그걸로 됐다!
'코딩테스트' 카테고리의 다른 글
백준 2108번 풀이 - 파이썬(Python) (구현, 수학, 정렬) (0) | 2022.09.12 |
---|---|
백준 2108번 풀이 - 파이썬(Python) (구현, 수학, 정렬) (0) | 2022.09.12 |
백준 1929번 풀이 - 파이썬(Python) (수학, 정수론, 에라토스테네스의 체) (0) | 2022.09.11 |
백준 1874번 풀이 - 파이썬(Python) (자료구조, 스택) (0) | 2022.09.10 |
백준 1654번 풀이 - 파이썬(Python) (이분탐색) (0) | 2022.09.10 |