본문 바로가기
알고리즘 PS/PS 기록

[2022] 6 & 7월 PS 기록, 그리고 현재 (+PS 어떻게 공부했는지)

by veggie-garden 2023. 2. 25.

왼: 6월, 오: 7월

오랜만에 PS 기록을 쓴다. 왜 이렇게 오랜만에 쓰냐... 실은 여기에 슬픈 사정이 있다. 

PS기록만 안 올렸지, 8월까진 열심히 1일 1PS를 지키고 있었는데 8월 8일 폭우가 온 날, 딱 서울에 있었어서 정신없어서 백준 문제를 못 풀었고 그렇게 내 스트릭은 끊겼다... 그리고 다시 PS를 시작하지 않은 이유는 내가 7월에 42서울을 시작하고 여기에 집중하느라 백준 문제를 풀 시간이 없어서 브론즈 문제들로 스트릭을 "연명"하고 있던 것이나 마찬가지였다.

 

예시로, 6월에는 골드 문제들도 푸는 등 차근차근 어려운 문제들을 풀고 그랬는데 7월에는 거의 브론즈 문제들만 풀었다. 스트릭이 아까워서 풀고는 있었지만, 스스로도 이것이 과연 맞는 것일까, 이게 나에게 도움이 되는 일인가 생각하고 있었다.

 

PS를 하다 보니 느꼈던 점은 한 문제를 "제대로" 풀려면 굉장히 많은 시간과 정성을 들여야 한다는 것이다. 문제를 읽고 해석하고, 어떤 알고리즘으로 풀어야 할지 생각하고, 문제 풀이를 구상하고, 그걸 코드로 옮기고, 만약 아예 문제 풀이가 감도 안 잡힌다면 혼자 얼마동안 고민할 건지 등등 생각보다 품이 많이 들어갔다. 그래서 한 문제 푸는 데에 5시간 걸린 적도 있다. (이땐 진짜 요령 없이 해서...) 한가했을 때야 부담스럽지 않았지만, 내가 바빠지기 시작하면서 목적 없는 PS는 나에게 의미 없어지기 시작했다. 무언가를 꾸준히 긴 시간동안 해보고 싶은 마음에 PS를 시작했고 잘 진행이 되는 보였다. 하지만 내가 간과했던 것은 장기 목표를 이루기 위해선 작은 단기 목표들을 세워서 나 자신을 꾸준히 동기부여하고, 내 목표를 끊임없이 점검했어야 한다는 점이다. 

 

236일, 약 7개월 정도 가량의 시간 동안 나는 PS를 했다. 긴 시간 동안 꾸준히 무언가를 해보고 싶다는 목표는 이뤘다고 생각한다. (실은 1년까지 해보고 싶었다...) 그렇지만 아쉬웠던 점은, 이렇게 긴 시간을 투자할 만큼 가치 있는 일을 하고 있는 건가 라는 생각을 자주 하지 못한 점이다. PS가 가치 없다는 것은 아니다. (골드 랭크도 땄고, 여러 알고리즘 문제를 접하게 되어 코딩하는데 도움이 되었다.) 다만 목표를 계속 보완하고 발전시키지 못했다는 점이 아쉽다. 목표를 중간중간에 계속 구체화를 하고, 여러 단기 목표들도 세우면서, 내가 지금 가는 방향이 맞는지 계속 점검해 가면서 했어야 하는데 그러지 못했다.

 

아쉬운 건 아쉬운 거고, 이런 깨달음을 얻은 것만으로도 충분히 의미 있는 시간이 아니었나 싶다. 이 경험을 발판으로, 앞으로 PS는 단기간 할 거 같다. 꾸준히 푸는 것도 좋지만 나에게는 딱 필요할 때 단기간에 PS만 집중해서 어느 정도까지 올리겠다는 뚜렷한 목표가 있을 때 하는 것이 더 맞다는 생각이 들었다.

 

약 7개월가량의 PS 후기 끝!

 


혹 내가 어떻게 PS 공부를 했는지 궁금할 사람들 위해서 간략하게 정리해 봤다.

 

우선 스프레드시트를 만들어서 공부 과정을 기록했다.

이런 식으로...!

언제 풀었는지, 풀었는지 못 풀었는지, 답지 참고 여부와, 푸는데 시간이 얼마나 걸렸는지 등 이런 것들을 기록했다. (갑자기 혼자서 못 푼 문제들은 나중에 시간이 흘러서 다시 한번 풀어보는 것도 재미겠다는 생각이 든다.)

 

언어 선정은 어떻게 했냐, 내가 사용할 줄 아는 언어 중 가장 코테에서 유리할 것 같은 언어로 선정했다. python은 내장 함수들이 많고 또 문법이 간단해서 사용하기 좋은데 문제는 너무 느려서 곧 c++를 공부할 예정이라 나중에 코테를 칠 때는 둘이 같이 사용할 생각이다. 이건 개인적인 생각인데, 알고리즘 풀이는 그 개념만 알고 있으면 되는 거라서 언어 선정에 크게 부담 갖지는 않아도 될 것 같다.

 

문제는 어떻게 풀었냐면 최소한 30~40분, 길면 1시간 정도까지 혼자서 문제 풀이를 생각해 보는 시간을 가졌다. 알고리즘도 공식이 있는데 처음 공부하는 사람들은 이 공식을 모른다. PS는 이 공식에 익숙해져 가는 과정이라고 생각해서 무조건 "그 누구의 도움 없이 혼자서 해낼 거야...!" 하진 않았다. 문제를 보다가 도저히 문제 풀이가 생각나지 않으면 다른 사람의 답을 참고하면서 공부했고, 이해한 걸 바탕으로 혼자서 코드를 다시 짰다. 그리고 진짜 이해했는지 확인할 겸, 알고리즘에 익숙해질 겸 비슷한 알고리즘 문제를 풀었고 내가 응용할 수 있냐 없냐를 기준으로 삼아서 비슷한 결의 문제를 풀 수 있다(=응용할 수 있다)라고 하면 다른 알고리즘 문제로, 아니라면 계속 비슷한 류의 문제를 풀었다.

'알고리즘 PS > PS 기록' 카테고리의 다른 글

[2022] 4&5월 PS 기록  (0) 2022.06.18
[2022] 3월 PS 기록  (0) 2022.06.18
[2022] 2월 PS 기록  (1) 2022.03.01
[2022] 1월 PS 기록  (0) 2022.02.01
[2021] 12월 PS 기록  (0) 2022.02.01

댓글