코딩,안되면 될때까지

백준 알고리즘 공부 본문

Study

백준 알고리즘 공부

soo97 2022. 4. 7. 09:46
728x90
반응형

<코딩을 공부하면서>

 

백준 알고리즘을 본격적으로 풀기 시작한지도 벌써 2개월이란 시간이 흘렀다. 사실 전공이 데이터사이언스라 대학생시절에도 알게모르게 백준을 접했다. 다시 말해 백준 문제를 풀기 시작한건 훨씬 오래전이지만 다시 본격적으로 푼건 올해 2월말 부터였다. 오랜만에 다시 풀다보니 처음엔 감을 잡기 어려웠지만 그래도 예전에 했던 경험을 기반으로 꾸준히 하다보니 어느새 GOLD5레벨에 도달했다. 그래서 이 글에서는 공부방법과 문제를 풀때의 마음가짐에 대해서 작성하려고 한다.

 

https://solved.ac/profile/hae_sooo

 

solved.ac

알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 난이도 및 티어 정보 제공

solved.ac

 

-어려운 문제를 만났을때-

 

코딩 문제를 풀때 문제를 보고 막막했던 경험이 누구나 한번쯤은 있었을 것이다. 필자도 이런적이 한두번이 아니다. 아니 매번 문제를 보고 막막함을 느끼는 거 같다. 하지만 이럴때일수록 문제를 다시 천천히 읽어보고 생각할 시간을 오랫동안 가지는것이 가장 중요한거 같다. 필자는 생각할 시간을 적어도 두시간 정도 가지는 거 같다. 하지만 무작정 생각만 오래한다고 모든 문제가 풀리진 않는다. 이럴 경우 어쩔 수 없이 다른 사람의 풀이를 찾아보게 된다. 하지만 그렇다고 해서 실패했다고 느끼면 안된다. 다른사람의 풀이를 참고해 "아 이런방법이 있었구나"라고 깨닫고 이러한 과정을 본인의 발전하는데에 거름으로 쓰면 된다. 그리고 중요한것은 반드시 본인만의 풀이로 다시한번 풀어보는것이다. 다른사람의 풀이를 보고 했을땐 이해가 되지만 정작 본인이 혼자 다시 풀어볼때 안되는 경우가 있다. 그렇다면 그 문제는 완전히 본인의 것이 안된것이다. 때문에 하루가 지나고 복습을 하면서 반드시 본인만의 풀이로 다시한번 더 풀어봐야 한다.필자는  처음엔 silver난이도도 풀기 어려웠다. bronze 난이도도 겨우겨우 풀 정도였다. 하지만 꾸준히 한 결과 지금은 gold5~gold3문제까지 도전하고 있고 solved.ac 의 class3뱃지도 획득했다. 강조하고 싶은것은 문제를 못풀더라도 절대 거기서 멈추지 말고 다음번에는 내 힘으로 꼭 한번 풀어봐야겠다는 다짐을 해야한다는 것이다. 

 

-공부방법-

 

silver 난이도도 못풀면서 어떻게 gold5까지 달성했는지 생각해보면 위에 작성한것처럼 생각을 많이 하고 그리고 시중에 나와있는 "이것이 코딩테스트"라는 책을 이용해 공부를 했다. 이 책에는 알고리즘별로 챕터가 나눠져 있다. 공부하는 과정을 살펴보면 처음에 책에 알고리즘을 설명해주는 부분을 공부하고 책에 나와있는 실전문제를 풀었다. 물론 실전문제도 처음에 못푸는 경우가 다반사였다. 하지만 위에 말한 마음가짐대로 다시한번 풀어보고 또 보고 하는 과정을 반복했다. 그리고 책에 나와있는 문제를 반드시 자기것으로 만든 이후 백준에 있는 해당 알고리즘의 문제들을 풀었다. 이런식으로 꾸준히 하다보니 실력이 꾸준히 느는것을 느꼈다. 

 

https://www.acmicpc.net/problem/tags

 

알고리즘 분류

 

www.acmicpc.net

 

-마무리-

 

아직도 부족한 부분이 많고 더 발전해야한다. 필자는 최근에 조모상을 당하는 바람에 일주일 정도 문제를 풀지 못했다. 일주일동안 못하다 보니 다시 게을러지고 문제푸는 감이 식었다. 하지만 이렇게 글을 적음으로써 다시한번더 마음가짐을 고치고 열심히 노력할 것이다.

 

728x90
반응형
Comments