A kata is an exercise in karate where you repeat a form many, many times, making little improvements in each
카타는 하나의 양식을 여러 번 반복하면서 조금씩 개선하는 가라데의 운동입니다.
보통 코딩 테스트 통과를 위한 알고리즘 공부는 leetcode, 백준을 추천하곤 합니다.
하지만 저는 실무에 있어 퍼즐에 가까운 알고리즘 풀이보다는, 범용적인 자료구조와 해당 언어의 Best Practice 학습이 더 중요하다고 생각합니다. 그러던 중 codewars 라는 사이트를 알게 되었고 제 목적에 부합하고 꽤 유용하다고 생각되어 간단히 소개해보고자 합니다.
Pros
1. 공부하고 싶은 언어와 목적을 선택할 수 있습니다.
- 특히 문제 선택을 위해 참고할 수 있는 유형을 태그로 지원해 줍니다.
2. Best Practice 를 볼 수 있는 UX 가 압도적으로 훌륭합니다.
- 다른 사람의 코드를 볼 수 있는 기능은 다른 사이트에도 있지만, UX 가 압도적으로 훌륭합니다.
- codewars 를 소개하는 가장 큰 이유입니다.
Cons
1. 커뮤니티 형태의 운영에서 생기는 단점
- codewars 는 문제를 사용자 스스로 올릴 수 있고, 커뮤니티에서 자체적으로 관리됩니다.
- 그렇기에 참여가 적은 문제는 품질 관리 수준이 낮고, 난이도가 높아질수록 억지스러운 문제들도 존재합니다.
2. 분석 도구의 부족
- 효율성까지 분석해 주는 다른 사이트와 달리 성공과 실패만을 알려줍니다.
3. 앞의 2가지 이유로 코딩 테스트 준비 용도로는 추천하지 않습니다.
- 코딩 테스트 준비가 목표라면 leetcode, 백준을 추천합니다.
개인적인 활용
1. 하루에 1~2개 정도, 낮은 레벨의 문제만 풉니다. (kyu8 ~ kyu5)
- 낮은 레벨의 문제는 보통 요건이 단순하고 5줄 미만으로 해결할 수 있습니다.
- 자료구조와 Best Practice 를 학습하려는 목표에 적합합니다.
2. 문제의 태그를 선별적으로 활용합니다.
- 선호 태그 FUNDAMENTALS STRINGS LISTS
- 비선호 태그 MATHEMATICS ALGORITHMS PUZZLES
'잡담 & ETC' 카테고리의 다른 글
요즘 애들은 문해력이 낮아진걸까? (0) | 2022.09.10 |
---|---|
어느 새벽에 작성하는 첫 회고록 (3) | 2021.12.10 |
좋은 개발 문화란? - (2) 준비 (0) | 2021.11.15 |
좋은 개발 문화란? - (1) 실패 (0) | 2021.11.15 |
사이드 프로젝트의 기록 - 글쑤시개 (1) (0) | 2021.06.22 |