본문 바로가기
공부

[알고리즘] 문제 분석

by 꾸돼지 2025. 6. 3.
320x100

이직을 위해 필수적인 코딩테스트 준비...

나는 사고속도와 손이 느린 편이어서... 이런 빠르게 해결해야하는 문제에 상당히 약한 편이다.

특히 문제를 풀 때, 초기에 조건을 하나 놓치는 경우 치명적이다.

 

내가 알고리즘 공부를 위해 선택한 책에서는 문제 분석에 10-15분 투입하는 것을 아까워하지 말라고 가장 처음부터 조언한다.

문제를 잘 읽고, 초기에 구상한 해결방안의 시간/공간 복잡도를 계산해서 이렇게 코드를 진행할 것인지 결정한다.

 

정말 맞는 말인데, 지키기가 가장 어렵다.

나는 이런 얘기할 일이 없을 줄 알았는데, 문제를 잘 읽는 것이 무엇보다도 어렵다.

나이를 먹을수록 자기 얘기만 하는 경향이 생긴다고 하는데, 내가 벌써 그렇게 되는건가 걱정이 마구마구 샘솟는다.

 

 

내가 생각하는 나의 문제풀이 중 가장 큰 문제는 아래와 같다.

 

문제가 길게 얘기하는걸 읽고 싶지가 않다.

문제를 읽다보면 해결 방안을 생각하게 되는데, 이 초기 구상이 떠오르면 후에 읽는 조건들을 간과하게 된다.

 

남들에 비해 실력도 없는데, 조급한 습관까지 생겨나서 해결능력을 더 저해하고 있다.

 


내가 본가에 가서 부모님을 보면 하루에 한 번씩은 꼭 하는 말이 있다.

내 학창 시절에 공부해라라는 말을 들었던 것의 복수처럼, 책좀 읽으세요 라는 말을 정말 많이 한다.

 

은퇴하기 전에는 책을 한 달에 한 권 이상씩 보셨던 것 같은데...

맨날 TV와 유튜브만 보고 있고, 어떤 책을 읽는다는 이야기를 들어본 적이 없다. 

 

며칠 전 들었던 말을 오늘 또 듣고, 며칠 뒤에 또 같은 내용의 말을 듣고 나면 부모님이 치매가 오려는게 아닌가 하는 걱정이 든다.

그러면 머리를 쓰게해야겠다는 위기감과 함께 나도 했던 이야기를 또 하게된다.

 

책좀 읽으세요.

 


근데 웃긴건 내가 똑같은 문제를 알고리즘 문제를 풀면서 느낀다는 것이다.

 

아 저번에 풀었던 문제랑 같네? 그럼 이렇게 푸는 문제인가보다.

이 생각이 드는 순간 현재 읽고 있는 지문과 테스트 케이스에 대한 검토를 까맣게 잊는다.

그리고 예전 비슷한 유형의 문제대로 풀이부터 시작하고, 당연히 틀린 이후에 시간을 까먹게 된다.

 

한참 못풀다가 문제를 처음부터 다시 읽거나, 다른 사람의 풀이를 보고 나면 깨닫게 된다.

아 또 문제를 제대로 안읽어서 조건을 놓쳤네......

 


마음이 급해서 그런가?

정말 잘 안고쳐지는 습관이다.

회사에서 근무하고, 퇴근해서 한두 문제씩 풀 때는 이런 부분에선 거의 틀리지 않았다.

그 땐, 지금보다 더 하찮은 상태였는데, 특히 복잡하지만 단순한 구현 문제에서는 거의 안틀렸다.

 

지금은 각종 유형의 문제에 대해 가장 핵심적인 해결 방법은 잘 찾게 되었다.

BFS, DFS, 수학, DP, 정렬, 탐색, 재귀...

그런데 자꾸 손이 먼저 키보드로 향한다.

 

컴퓨터에게 일을 시키기 전에 어떤 일을 어떻게 시키겠다는 지시서를 손으로 쓰는 과정이 잘 안된다.

나도 책을 안읽어서 그런가?

요즘 머리를 덜써서 그런가?

마음이 급해져서 그런가?

나이 먹고 남의 얘기 듣기가 싫어져서 그런가?

 

키보드 없이 문제를 읽고 해결방안만 쓰는 방식으로 한동안 트레이닝을 해야할 것 같다...

320x100

'공부' 카테고리의 다른 글

[BE] RabbitMQ 장애 - 메시지 유실  (1) 2025.06.05
[BE] Publish & Subscribe 구조  (0) 2025.06.04
[FE] Lazy Loading & Code Splitting & Tree Shaking  (0) 2025.06.03
[웹] Server Sent Event  (0) 2025.06.02
[포트폴리오] 동영상 플랫폼  (0) 2025.05.29