현재 사용하고 있는 알고리즘 사이트 종류 정리입니다.
이 사이트들에서 직접 풀거나, 자료를 찾으면서 더욱 효율적인 코드들 위주로 정리를 합니다.
언어는 C/C++, C#, Java, Javascript, Python, Swift위주로 합니다.
1. Codewars
개인적으로 여러 알고리즘 사이트 중에서 가장 재미있는 것 같습니다.
회원가입을 할 때 언어를 정하고, 매우 기본적인 코드를 작성하면 회원가입이 승인됩니다.
그 후 프로필을 설정 할 때 Clan을 정할 수 있는데, 소속 회사(또는 그룹)을 적음으로서, 동일한 Clan에 있는 사람들을 Allies에서 확인 할 수 있고, 그 사람들의 현재 Kyu(레벨) 등을 비교하면서 자극을 받을 수 있습니다.
또한 문제를 풀고 나서 다른 사람들이 푼 코드를 보면서 효율적으로 코드를 짜는 것에 대해서 공부를 할 수 있습니다. (물론 실무에서 과도하게 줄여서 짜면 주니어급 개발자나 다른 사람들은 못 알아 볼 수도 있으니, 연습한다고 생각하는게 좋을 것 같습니다.)
(제가 다녔던 곳들은 모두 스타트업들이라 개발자들이 많지가 않아서 비교가 안되네요... 다니시는 분들은 넘사벽 경력이고ㅠㅠㅠ)
2. Programmers
이직 또는 신입으로 회사에 입사 할 때 많이들 보게되는 곳입니다.
일단 제가 본 것 기준으로 네이버(신입), 쿠팡(신입), 카카오 모빌리티(경력), 카닥(경력) 등에서 사용했습니다.
로그인을 한 후 상단에 보면 '코딩테스트 연습'이라는 메뉴에 '코딩테스트 고득점 Kit'가 있는데, 개인적으로 본 문제들 중에서 이런 문제들의 기출변형이 많이 나왔습니다.
사실 실무에서 특히 FE를 할 경우 알고리즘을 사용할 경우가 거의 없다보니 경력 이직 때 방심하고 있다가 이런 문제들이 나오면 풀 수는 있지만, 시간을 많이 뺏기는 경우가 종종 있었는데, 이 사이트에서 수시로 다시 풀어보면서 감을 유지하는 것도 좋은 방법이라고 생각합니다.
개인적으로 조금 아쉬운건, Swift가 없는 문제들이 좀 있어서 아쉽네요.
(사실 이 부분은 다른 언어로 푸니까 상관은 없지만... 아무래도 iOS 개발자다보니 다른 언어는 퍼포먼스가 상대적으로...)
그 외에도 SQL 고득점 Kit의 경우 쿼리 공부도 할 수 있기 때문에 개인적으로 좋다고 생각하는 사이트입니다.
3. LeetCode
여긴 아직 자주 사용해보지는 않았는데, Codewars와 함께 영어를 공부하면서 코딩 공부도 하기 좋다고 생각하는 사이트입니다.
사실 국내에서 개발을 할 때는 상대적으로 영어가 필수는 아니지만, 아무래도 구글링을 하다보면 영어로 된 답변들이나 질문들이 대다수이기 때문에 자료를 찾는데에는 어느 정도 영어 실력이 필요하다고 생각합니다.
내가 영어가 좀 부족한 것 같은데 시간이 많지 않으니 알고리즘 공부와 같이 하고싶다고 생각하시면, Codewars와 LeetCode를 추천해봅니다.
4. HackerRank
카카오 코딩테스트 하면서 알게된 사이트입니다.
문제는 기본적으로 영어로 나오고, 코테때는 한글로 일단 나왔었어요.
여기는 다른 곳 보다 시간 복잡도 관련해서 신경을 많이 쓰게 되는 것 같아요. 특히 리더보드에 시간복잡도별 랭킹이 나오는데, 그걸 볼 때마다 한 번 더 신경을 쓰게 되더라고요.
--------------------차후 내용이 수정되거나 추가될 수 있습니다.--------------------
Dannian의 블로그입니다.
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[Codility] Lesson3 - PermMissingElem (0) | 2021.04.21 |
---|---|
[Codility] Lesson2 - Arrays(OddOccurrencesInArray) (0) | 2021.04.21 |
[Programmers] 코딩테스트 (DFS/BFS) - 타겟 넘버 (0) | 2021.02.19 |
[Programmers] 2021 KAKAO BLIND RECRUITMENT - 메뉴 리뉴얼 (0) | 2021.02.18 |
[Programmers] 2020 KAKAO BLIND RECRUITMENT - 문자열 압축 (0) | 2021.02.17 |