Skip to content

n0hack/algorithms

Repository files navigation

Intro

Is Algorithm Important?

자료구조와 알고리즘을 처음 접했을 때 얘네는 대체 왜 공부하는 걸까?라는 생각을 자주 했었어요. 딱히 공부하지 않더라도 만들고 싶었던 건 충분히 만들 수 있었거든요. 막코딩이라 해야 할까요? 이 단어가 문맥에 맞는지는 모르겠지만, 프로그래밍을 공부하던 초기에는 코드의 짜임새나 성능을 크게 신경 쓰지 않고 막코딩만 했던 거 같네요.

그럼 이들의 중요성은 언제부터 느끼게 되었을까요? 🤔

코딩 테스트 문화가 정착되지는 않았었지만, 2015년에 인턴십을 위해 비슷하게 치른 적이 있었는데요. 저를 포함해 다른 지원자 한 분과 같은 공간에서 테스트를 진행했던 경험이 있어요. 결론만 놓고 말씀드리면 두 사람 모두 구현은 마무리했지만, 코드 퀄리티에서 많은 차이가 있었어요. 코드를 비교하는 시간을 통해 확인하게 된 것인데, 다른 사람의 코드를 제대로 봐본 게 이때가 처음이었던 거 같아요. 그분의 코드는 중복된 부분 없이 깔끔하게 잘 읽히던 반면, 제 코드는 조건문과 반복문이 무지성으로 걸려있어서 정말 더러웠어요. 다행히 합격은 했지만, 이때부터 자료구조며, 알고리즘이며, 기본이 중요하다는 것을 깨닫고 공부하기 시작했던 거 같네요.

공부를 하면서 내가 평소 사용하던 방식이 널리 알려진 알고리즘인 것도 알게 되고, 실무에서 트리 구조를 적용해 코드량을 많이 줄여보기도 하는 등, 공부하는 내내 다양한 부분에서 재미를 많이 봤었어요. 물론 재밌다 하더라도, 심화 알고리즘이나 코딩 테스트 문제는 여전히 시간을 들여도 잘 이해되지 않을 때가 있기에 이따금 현타가 오기도 해요. 그래도 문제를 해결해 나가는 과정 자체가 논리력이나 끈기력 향상에 도움이 되어, 능률이 올라감을 경험했기에, 최대한 즐기려 노력하고 있답니다. 그러니 여러분도 화이팅!

이슈 또는 PR을 통해 코드 피드백 주시면 감사하겠습니다 🙌


📁 폴더 구조

  • 문제풀이: 백준(BOJ), 프로그래머스, LeetCode 등 문제 풀이
  • 알고리즘: 자료구조를 활용하거나 정렬, 탐색처럼 자주 사용되는 알고리즘 정리
  • 자료구조: 스택, 큐, 트리, 그래프 등의 자료구조 정리

모든 코드는 기본적으로 JavaScript로 작성하며, 가끔은 다른 언어를 사용하기도 합니다 🙂


📚 참고 자료


📌 Copyrights

© 2022. Lucid all rights reserved.

About

자료구조 & 알고리즘 공부 _〆(。。)

Resources

Stars

Watchers

Forks