알고리즘 오픈톡방에 있다 보면 여러 가지 알고리즘 학습 관련 질문들이 들어옵니다.
이에 대한 답변들을 정리해서 블로그 링크를 드리게 위해 작성해 봤습니다.
1. 백엔드 개발자인데 JAVA로 알고리즘을 학습해야 할까요?
언어는 그저 도구이며, 가장 자신 있는 언어로 알고리즘 학습을 하는 게 맞습니다.
그러나, 특정 회사들은 직군별 코딩테스트 언어를 제한하고 있습니다.
이러한 회사들을 위해서라면, JAVA로 준비하는 게 좋으나 한 가지 언어를 잘 다룰 수 있다면, 다른 언어로 알고리즘 준비를 하는 데는 얼마 걸리지 않다고 생각이 들기 때문에 자유롭게 선택하셔서 하시면 될 거 같습니다.
2. 알고리즘 학습은 어떻게 하는 게 좋을까요?
학습 방식은 사람마다 다릅니다.
저는 특정 알고리즘으로 풀리는 문제의 소스를 보고 작동순서를 머릿속으로 떠올리면서 생각해 본 후, 같은 분류 다른 문제들을 계속해서 풀면서 익숙해질 때까지 반복합니다.
3. 소스코드를 암기해야 하나요?
문제를 풀다 보면, 자연스럽게 암기되긴 하지만 해당 알고리즘을 조금만 변형해서 문제를 풀어야 하는 경우, 암기했던 소스코드랑 달라질 수도 있기 때문에 암기보다 익숙해지는 게 좋을 거 같습니다.
특정 코딩테스트 플랫폼의 경우, 입출력을 주어지지 않고 기본 main문에 문제를 풀도록 하기 때문에, 입출력 소스는 암기해 두는 게 좋을 거 같습니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
4. 알고리즘 학습 플랫폼은 백준과 프로그래머스 중 어디서 하는 게 좋을까요?
프로그래머스 같은 경우, 그렙에서 문제를 만들어 레벨을 설정한 후 문제를 출제하여 함수형식으로 주어집니다.
백준은 지금까지 있던 국내외 문제들이 있고, 사용자들이 직접 문제를 만들어 출제를 합니다. 등급은 문제를 푼 사용자들이 측정하기 때문에 난이도순으로 학습을 할 수 있습니다.
개인적으로, 알고리즘 학습을 위해서라면 백준, 코딩테스트에 익숙한 환경에서 학습을 원하신다면 프로그래머스를 선택하시면 좋을 거 같습니다.
5. 몇 문제를 풀어야 코딩테스트에서 합격할 수 있나요?
저는 현재 2700문제 가량을 풀었는데, 코딩테스트 불합격을 하는 경우가 있습니다. 1000문 제도 안 풀고 솔브드 기준 루비이신 분도 있고... 문제수는 관련이 전혀 없는 거 같습니다.
6. 어느 정도 티어를 풀어야 코딩테스트에 합격할 수 있나요? 플레도 풀어야 하나요?
지난 신입 카카오 코딩테스트 같은 경우는 4 솔이 커트라인이었고, 최고 등급은 골드였습니다.
라인 같은 경우는 제가 골드를 잘 풀지 못하는데도 합격했었습니다.
정답을 말씀드리자면, 백준 기준 골드등급 정도만 해결할 수 있는 능력이 있다면 충분할 거 같습니다.
가~끔 골드 상위, 플레 하위 급 문제를 풀어야지만 통과하는 코딩테스트도 존재하긴 합니다.
https://open.kakao.com/o/gX4dTLlb
제가 알고리즘 학습을 시작하면서 들어갔던 오픈채팅방입니다.
저는 JAVA로 알고리즘 학습을 하고 있고, 해당 방에는 C++, Python으로 학습하시는 분들도 계십니다.
제가 C++을 학습하면서 여러가지로 많이 배우고 있기도 합니다.
※ 곰곰컵이 개최된 방입니다.
'잡담' 카테고리의 다른 글
제1회 임스의 메이플컵 (2) | 2023.09.03 |
---|---|
제 1회 유틸컵 (0) | 2023.08.01 |
백준 랭킹 1페이지 달성! (1) | 2023.01.03 |
2022년 회고 / 2023년 목표 (4) | 2022.12.31 |
구름 알고리즘 챌린지 후기 (0) | 2022.12.02 |
댓글