오후에 알고리즘 공부에 대한 세션이 있었다.
맨 처음 몇 주간은 단번에 풀 수는 없더라도 나름 흥미롭게 풀어왔었던 것 같은데 최근에는 문제 요구사항의 정확한 이해단계에서부터 오랜 시간이 걸리고 점차 괴로워지는 것 같다.
알고리즘 문제 풀기가 입사 코딩테스트에 대비하기 위한 것이라 생각해서 내심 코딩테스트를 안보는 회사에 지원하면 어떤가 라는 생각도 했었다.
그러나 알고리즘 공부를 하는 것의 이유는 코딩테스트만을 위한 것이 아니라는 것을 알게되었다. 취업 시에도 당연히 도움이 되겠지만 더 근본적으로 사고 능력과 논리력을 키우기 위함이다. 예를 들어 반복문이 중첩되면 좋다 안좋다를 따지기보다 그렇게 되었다면 내가 왜 이렇게 작성해야만 했는지 설명할 수 있어야 하겠다.
내일부터 시도해 볼 접근법
문제 이해하기 - 문제의 요구사항을 정확히 파악하는 연습을 많이해야한다. 지금 이렇게 문제이해에 필요한 시간이 많이 걸리는 것이 정상인가 라는 회의감이 드는데 계속 하는 것밖에는 답이 없어보인다. 이해하는 시간 제한은 20분으로 둔다.
조각조각내기 - 복잡해보인다면 작은 단위로 분해해서 풀어본다.
적합한수준찾기 - 조금 더 시간을 들여서 낮은 단계 문제를 더 많이 풀어봐야겠다.