순간을 성실히, 화려함보단 꾸준함을

왜 알고리즘(ps)이 힘들까?? 본문

나의 개발 메모장

왜 알고리즘(ps)이 힘들까??

폭발토끼 2021. 1. 17. 11:30

안녕하세요.폭발토끼입니다.

이번 글은 그냥 정말 그냥 쓸데없고 아침부터 센치해져서 적는 뻘글입니다.

제 글들을 제 블로그를 몇명이나 방문해주시고 도움을 얻어가실지 모르지만 조금이나마 위안을 주고 싶어 적습니다.

(그렇다고 저가 엄청난 실력을 가지고 있는 것도 아닙니다. 정말 못합니다.....ㅎㅎ)

 

정말 이제 막 알고리즘을 시작하시는 분이나 너무너무너무너무 힘들어하시는 초보분들을 위한 글입니다

 

많은 분들이 '알고리즘 문제 해결'에 관해 어려움을 겪습니다.(저 또한 마찮가지 입니다)

어렵죠.정말 어렵습니다. 고등학생때 수학문제 푸는 것도 힘들어 죽었는데 알고리즘 문제를 풀고 있는 모습이 아이러니 할 정도로 힘들고 고통스러운 시간입니다.

 

다른 사람은 몇분만에 문제를 해결하고, 코드도 훨씬 간결하게 짜고, 나보다 시간이 적게걸리는 코드로 클리어 하고,,,,,

타인과 비교하면서 왜 난 못할까? 왜 난 안되지? 왜 난 이것밖에...라는 부정적인 생각이 들기도 하죠.

 

괜찮습니다. 자책하십쇼. 스스로 한탄도 하시고 비교도 하세요. 그리고 좌절도 하시고요.

단,'포기'만 하지 마세요.

개인적으로 정말 중요한 부분이라고 생각합니다. 제가 공부를 하면서 느낀점이거든요. 어떻게 남들과 비교를 안할수가 있나요???안듣고 싶어도 들리고, 안보고 싶어도 보이고 나보다 잘하는게 뼈저리게 보이는데.

그러나 부정적인 감정에 휩쓸려 의욕마저 잃게 되더라도 억지로라도 꾸준히 문제를 푸세요.

 

내가 좋아하는 취미, 관심있어하는 분야 등 사랑하는 요소라도 어느순간 싫증이 나고 귀찮아지는 마음은 지극히 정상적으로 찾아오게 됩니다. 게임또한 마찮가지 잖아요^^(롤 xx겜)

 

포기하지 않고 꾸준히만 하시게 되면 어느순간 잃어버렸던 긍정적인 감정들을 되찾고 더불어 과거와 달리 성장해온 모습을 스스로에게 발견하게 됩니다. 그러나 대부분의 사람들은 이 단계를 느끼지 못하고 "적성에 안맞나봐 난,,," 이런 생각과 함께 놓게됩니다.

 

저가 그랬습니다. 

정말 포기하고 싶었을때도 있었고, 이 거지같은 알고리즘 접고 싶다라는 생각이 수백번 들었었습니다. 그러나 '포기'만은 하지 않고 지금도 이렇게 문제를 풀고 있네요.

 

'어떻게 공부해야 될지 방법을 모르겠다'라고 말씀하시는 분들에겐 제가 해온 방법이 조금이나마 도움이 되셨으면 하는 마음에 글을 적겠습니다.

 

먼저, '자신이 모르고 있다는 사실을 알고 있는지??' 부터 생각해보시길 바라겠습니다.

1)내가 이 문제를 풀 정도의 사전적인 지식을 갖추고 있는지?

2)사전적인 지식은 충분한 것 같으나 문제를 어떻게 접근해야 될지 모르는지?

3)지식도 갖춰져 있고 어떻게 하면 문제를 풀수 있을지 알고 있느나 머릿속에 있는 로직을 키보드를 통해 소스로 옮길 '구현력'이 부족한지?

 

이렇게 크게 3단계로 나누었습니다 전...

1 번이 문제라고 생각되시면 방법은 간단합니다. 알고리즘 지식을 쌓으세요. 책을 사서 참고를 하시던 유명하고 글들이 정리되어 있는 좋은 블로그들을 참고를 하시는 겁니다.(블로그들은 이따 정리해 드리겠습니다)

 

2 번이 문제라고 생각되시면 '고민'해 보십쇼. 백준님 말씀에 의하면 20~30분정도를 맥시멈으로 잡고 생각해 보라고 하더라구요. 이 '고민'이 결코 쓸데없는게 아닙니다. 문제를 보고 5분 고민한 다음 모르겠어서 해설을 보는 것과 20~30분 고민해 보고 해설을 보는 것의 차이는 정말 크기 때문입니다.

그리고 해설을 보셨으면 반드시 일주일 뒤에 또 다시 그 문제를 풀어보세요.(아마 10명에 절반 이상은 다시 봐도 못풀겁니다.) 문제를 일주일 뒤에 다시 봤는데도 모르겠다???다시 20~30분 고민하세요. 그리고 또 해설을 보는 겁니다.

이런 과정을 거치면서 생각의 폭이 넓어지고 많이 풀다보면 어느순간 어???이문제 저번에 풀었던 문제랑 비슷한데???라고 무엇인가 보이게 됩니다.

 

3 번은 최대한 많은 문제를 풀어보세요. solved.ac/ 이 사이트에 가시면 카테코리란에 '구현'이라는 란이 있을겁니다. 여기서 문제를 고르시고 많은 문제를 풀어보세요. 선택한 레벨이 실력에 비해 어렵다고 느껴지시면 단계를 낮추시면서 자신에 맞는 난이도를 선택하여 푸시는걸 추천드립니다.

 

저가 정말 존경하는 분이 계십니다. 알고리즘이 아닌 컴퓨터공학에 관한 공부를 포기하고 싶었을때 옆에서 많은 도움과 위로를 주셨던 분입니다. 제가 선생님이라고 부릅니다 ㅋㅋㅋ

 

어쨌든 저도 아무것도 모르고 초짜일때가 있었습니다. 막연하게 좌절하며 이게 맞는 것인지 확신이 안들때도 있었죠. 제 글이 현재 이런 상황에 쳐해있는 분들에게 조금의 도움이 되셨으면 하는 바람에 조심스럽게 적습니다.

 

모두들 원하시는 목표 전부 달성했으면 좋겠네요.

 

(알고리즘 관련 블로그입니다. 해당 주소는 panty.run/에서 퍼왔음을 알립니다.감사합니다)