티스토리 뷰
Photo by Joshua Reddekopp on Unsplash
원문링크: Five things I have learned after solving 500 Leetcode questions
원문을 기반으로 나름의 정리를 해본다
원문에도 자주 언급되는 "LeetCode 가 실무랑 무슨 상관! 다들 코딩 인터뷰를 하려고 하니 어쩔 수 없이 하는 거지! " 하는 부류가 바로 나였는데, 글 정리를 하면서 요 며칠 사이 재미가 붙어버리기도 한 LeetCode를 꾸준히 해야겠다 싶다.
참고: 보통 이렇게 둘을 비교한다. Grinding leetcode vs. creating meaningful software - LeetCode 문제 푸는 기계가되기 vs. 실제 의미있는 프로그램을 짜기
본문 정리 시작
기술 인터뷰를 준비하다 보면 LeetCode를 알게 되는데, 기술 인터뷰는 데이터 구조와 알고리즘을 다룬다. 그런데 많은 이들은 이게 도대체 실무와 무슨 상관이 있냐고 불만 가득이다.
LeetCode가 실무랑 별 상관이 없어보이는 건 인정한다. 하지만 LeetCde를 열심히 파고들면 은근히 도움이 되는게 많다. 하나씩 살펴보자
1. 데이터 구조와 알고리즘의 중요성
LeetCode가 DSA(Data Structure and Algorithm)를 가르쳐주는 건 아니지만, DSA를 모르면 문제를 풀기 어렵고, 안다고 해도 문제에 적용하는 건 또 다른 이야기이다. 문제를 풀면서 실제 어떻게 작동하는지 알게 되고, 어떤 상황에 어떤 놈을 써야하는지 몸에 익히게 된다. 이렇게 단련하면 확실히 실무에서 도움이 된다
2. 중원에는 고수가 많다
discuss나 comment를 보다보면 배우는게 많다. 고수들의 코드를 보고, 따라 구현하다보면 많이 늘게 된다.
3. 경계조건(edge case)에 대해 감을 잡는다
보통 코드를 짜면 몇몇 상황을 가정해보고 잘 동작하면 git push! 하고 끝이다. 그런데 LeetCode는 문제마다 엄청나게 많은 test case들을 통과해야 한다. 문제를 풀면서 이런 다양한 test case들에 부딪히고, 하나씩 풀어내다 보면 경계조건에 대한 의식과 대응에 익숙해 진다.
4. 빡세게 하면 실력이 나아진다
참고: 근데 이건 왜 LeetCode 문제를 푸는게 왜 좋은지에 대한 이유는 아닌거 같다. 처음에 힘들어도 꾸준히 하면 LeetCode 문제를 잘 풀 수 있게 될거라는 이야기.
"Hard work beats talent… when talent doesn’t work hard."
DSA 공부도 하고 Easy 문제부터 꾸준히 풀다보면 왠만한 medium 문제는 시간내에 풀 수 있게 된다.
5. 개발의 핵심은 전략을 짜는거다.
"If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe. - Abraham Lincoln"
어떻게 문제를 풀지 전략을 짜는게 중요이다. 제대로 된 검토후에 해결 방안을 찾고 나면 코딩은 금방이다. 실무도 똑같다. LeetCode는 기술 인터뷰 뿐 아니라 실무의 구현에 대해서도 좋은 습관을 가지게 해줄 것이다.
결론
LeetCode는 충분히 개발자에게 도움이 된다. 시간을 투자해서 LeetCode 문제를 꾸준히 풀자. 그만한 가치가 있다.
유튜브 링크 참고. 이거 좋아 보인다. https://www.youtube.com/c/BackToBackSWE/playlists
'development' 카테고리의 다른 글
Makefile - .PHONY는 어떤 용도로 쓰일까? (0) | 2021.08.05 |
---|---|
Hyrum's Law (2) | 2021.05.27 |
ACID - 확실히 알고 넘어가자 (0) | 2021.04.26 |
Slice, Array의 인덱스 표기에 대하여 - feat. Dijkstra (0) | 2021.02.05 |
Endian 이란 무엇일까? (0) | 2021.02.03 |
- Total
- Today
- Yesterday
- 인텔리제이
- ChatGPT
- 독서후기
- Bug
- 노션
- pool
- github
- solid
- API
- folklore
- websocket
- JIRA
- intellij
- 2023
- 제이펍
- OpenAI
- go
- bun
- notion
- Gin
- strange
- golang
- 잡학툰
- 클린 애자일
- postgres
- 독서
- Shortcut
- 영화
- 체호프
- agile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |