티스토리 뷰

반응형

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

반응형
댓글
댓글쓰기 폼