-
알고리즘 언어 선택 / 언어 별 장단점알고리즘/etc 2021. 3. 14. 00:55반응형
알고리즘 언어 선택
대신 해주실 분 구함..
일단 나는 학부 2학년부터 4학년까지 모든 알고리즘을 C++로만 풀었었다.
나때는 그랬다 나때는..! 알고리즘을 C++ 외의 언어로 푸는 사람들이 거의 없었다고
그래서 너무 당연히 알고리즘을 C++로 풀어왔었는데
이게 C++이라는 언어를 알고리즘 외에는 쓸일이 없으니까 점점 언어를 바꿔야 하나 싶은 생각이 들고있다.
오늘 Java로 처음 알고리즘을 풀어봤는데
아니 이건 사람할짓이 아니다.
인풋만 몇줄이냐고 에바야진짜
이게 c++ 인풋이고
이게 Java Output인데 그냥 이렇게보기엔 별 차이 없어보이지만 java가 훨씬 복잡하다 ㅠ(이 문제가 그나마 간단한 편)
그렇다고 자바를 안쓰자니 자바 기본적인 문법에 대한 이해도가 너무 낮아지고있어서 걱정이다.
머리가 복잡할 땐 뭘하면된다? 내용을 정리하며된다.
C++
장점
- 손에 익은 알고리즘 언어여서 문제 풀 때 매우 편리하다.
- Reference가 많다. (아직 많은 분들이 C++로 문제를 풀고 있어서 참고할 자료가 많다)
- STL에서 제공되는 쓸만한 함수들이 많다. next_permuation이나 lower_bound upper_bound같은거
> 근데 이거는 내가 다른 언어를 잘몰라서, 어쩌면 다른 언에 더 좋은 것들이 많을 수도 있다.- input output이 간단하다.
단점
- 알고리즘 외에 쓸일이 없다.
- mac에서 개발환경이 불편하다. 아무리 visual code를 설정 열심히 해봤자 visual studio 못따라가고, 웹 ide는 더 별로다;;;
Java
장점
- 실무에서 주로 사용하는 언어이고, 이걸로 알고리즘 풀면 언어에 대한 이해도를 높일 수 있다.
- intelliJ라는 아주 좋은 IDE를 쓸 수 있다.
단점
- 주로 사용하던 언어에서 다른 언어로 전환하는 것은 쉬운 일이 아니다.
- input output이 귀찮다.
- 시간적으로 손해가 있다. Java언어 자체가 조금 느린 것을 가만해서(요즘 많이 개선되었다고는 하지만) 문제 자체에서 Java는 시간을 더 주는 경우가 많지만, 그래도 C++이면 운좋았으면 통과했을 코드를 Java로 풀면 빡세게 최적화 해야 되는 케이스가 있다.
아
다 정리했는데도 결정이안된데
어떡하지?!
결정 도움 주실 분 구함..
반응형'알고리즘 > etc' 카테고리의 다른 글
기업 코딩테스트 준비 방법 , 알고리즘 공부 방법 (4) 2020.09.17 브라우저 IDE 추천 (0) 2020.04.10 JSON ? JSON Parsing? (0) 2019.09.21 [2019 카카오 신입 공채 1차 코딩테스트] 2. 실패율 (0) 2019.07.13 [2019 카카오 신입 공채 1차 코딩테스트] 1. 오픈채팅방 (0) 2019.07.13