어느덧 싸피에 입과한지 2달째! 알고리즘 수업이 시작됐는데요! 요즘 저는 이렇게 하루를 보내고 있습니다!
알고리즘을 체계적으로 공부해 본 게 이번이 처음이라 알고리즘 수업이 있다는 걸 알고 걱정이 이만저만이 아니었습니다..😥😥😥
그래서 수업 때 풀지 못했던 문제들을 풀거나 알고리즘 스터디에서 풀기로 한 문제들을 풀기도 합니다.
알고리즘을 전에도 공부를 시작한 적은 있지만 문제 푸는 것 외에 공부하는 방법을 몰랐고, 문제만 풀기에는 어떻게 풀어야 하는지 모르겠는 문제들이 훨씬 많다 보니 점점 공부하기 어려워 그만뒀던 적이 많았습니다.
항상 알고리즘 공부 시작을 코딩 테스트를 준비하면서 시작했고, 코딩 테스트를 보고 난 뒤에는
못 풀었던 문제들이 생각나 공부하겠다는 다짐이 불타서 공부하고, 문제가 안 풀려서 그만두게 되고
이 과정을 꽤 반복했습니다.
그래서 저에게 알고리즘이란 매번 내가 제자리걸음을 하고 있다고 알려주는 지표 같이 느껴졌습니다.
이번에는 그렇지 않았으면 해서 공부하면서 느낀 저의 생각과 공부한 내용들을 함께 정리해보고자 합니다.
그 첫번째로! 알고리즘이란 어떤 것이고 왜 알고리즘을 공부해야 하는지 알아보려고 합니다.
알고리즘이 무엇인지 알기는 알겠는데, 그러면 그 알고리즘 왜 공부해야 하는 걸까요?
사실 이전에 많이 알고리즘 공부를 시작했다가 실패했을 때부터 “왜” 알고리즘을 공부해야 할까?라는 질문을 계속 가졌습니다. 그때도 사실 찾아서 위와 비슷한 내용들을 봤지만 문제는 문제고! 실무는 실무지! 하며 그때는 그렇게 공감이 가지 않았죠😥😥
(네.. 그땐 정말 아무것도 몰랐네요)
그래서 저는 알고리즘 공부해야 하는 제가 납득할만한 이유를 찾으려고 했고 이번에 싸피에서 공부를 하면서 찾게 되었습니다! 엄청 사소한 부분에서 찾게 되었죠!👀👀
어느 날 구현/시뮬레이션 관련 문제를 풀다가 갑자기 문득 이런 생각이 들었습니다.
‘내가 문제에 나오는 것처럼 일을 해달라고 받으면 나 할 수 있을까?’
아니 못할 거 같은데ㅎㅎㅎ..
문제는 아무리 실무랑 다를 수 있다고 하지만
‘제시한 내용을 그대로 동작하게 만드는 것은 진짜 당연하게 가져야 하는 능력이지 않을까?’
하는 생각이 들었습니다.
구현/시뮬레이션 문제들 뿐만 아니라 난이도가 있는 문제들을 풀면서 여러 가지 자료구조나 알고리즘들이 섞여 있는 문제들도 많이 만나게 되었습니다. 어떤 자료 구조를 선택하는지, 어떤 방법으로 접근하는지에 따라 속도와 메모리가 엄청난 차이를 보일 때도 있었습니다.
알고리즘을 하나의 이론, 코딩 테스트 문제 푸는 스킬이라고만 하기에는 개발자로서 꼭 필요한 역량이라는 생각이 들었습니다. 그리고 이걸 스스로 느끼고 난 뒤에는 알고리즘 공부를 좀 더 능동적으로 할 수 있게 되었습니다!!
알고리즘 수업을 시작한 지, 대략 3주 정도 된 것 같은데 그때부터 지금까지의 결과를 보면
저는 브론즈 5에서 실버 1이 되었습니다!! :>
백준도 이번에 처음 하는 거였기 때문에 브론즈 5부터 시작을 했고, 알고리즘 수업을 못 따라갈까 걱정돼서 저는 수업 시작 1주일 전부터 조금씩 풀기 시작했습니다. 그리고 본격적으로 수업을 시작한 지 3주째에 실버 1까지 달성할 수 있었습니다!
티어로 눈에 보여서 그럴까요?ㅎㅎㅎㅎ 이번에 공부하는 건 제자리걸음이 아닌 것 같아서 더 뿌듯하기도 합니다!
아직은 부족한 모습이 더 클 수도 있겠지만 싸피에서 조금씩 조금씩 성장해 나가는 9기가 되길 응원합니다!
참고 링크
자료구조와 알고리즘, 왜 중요할까?
*본 글은 이선협 개발자의 강의 중 일부를 재편집한 글입니다. 자료구조와 알고리즘을 처음 시작하거나 왜 배워야 하는지 고민인 분들에게 답이 되었으면 합니다. 사용하는 언어가 JavaScript가 아
prgms.tistory.com
프론트엔드 개발자에게도 알고리즘 공부가 중요할까? | 요즘IT
우리는 왜 알고리즘을 공부할까요? 기초 소양을 쌓기 위해서? 좀 더 나은 개발자가 되기 위해서? 아주 틀린 이야기는 아니지만, 좀 더 솔직하게 얘기해 보겠습니다. 아마 대부분은 코딩 테스트를
yozm.wishket.com
위 내용은 필자의 개인적인 의견임을 밝힙니다.
'알고리즘' 카테고리의 다른 글
[알고리즘은 처음이라] Insertion Sort(삽입 정렬) (0) | 2023.09.23 |
---|---|
[알고리즘은 처음이라] Selection Sort(선택 정렬) (0) | 2023.08.27 |
[알고리즘은 처음이라] Bubble Sort(거품 정렬) (0) | 2023.07.22 |
댓글