DHistory
[회고] Programmers Level 1 완료 본문
한 단계 성장
조금씩 Level 1 문제를 풀다가 본격적으로 시작한 시간은 23. 8. 1 ~ 23. 8. 11이다.
파이썬 문법을 더 자유자재로 다룰 수 있게 되었고 문제를 푸는 여러 방식을 터득했다.
왜 Programmers Level 1인가?
대부분 코딩테스트 시험은 프로그래머스와 비슷한 플랫폼에서 시험을 치르기 때문에 익숙한 환경이 필요했다.
오랜만에 코딩테스트를 준비하기 때문에 파이썬과 구현 문제에 익숙해질 필요성을 느꼈다.
적절한 난이도와 다른 사람 풀이를 볼 수 있는 장점이 있기 때문이다.
다른 사람 풀이는 추천순으로 되어있기 때문에 대부분의 사람들이 풀이하지 못한 방법이 대부분 상위를 차지하여 인사이트를 얻을 수 있기 때문이다.
어떤 방식으로 알고리즘을 풀었는가?
문제 풀이는 한 가지 방법이 아닌 여러 가지 방법으로 풀 수 있다.
코딩테스트를 효율적으로 공부하기 위해 아래 방법을 실행했다.
1. 제한 시간(1시간)을 두고 문제를 고민한다.
2. 제한 시간 내에 문제를 푸는 경우
2-1. 4로 이동
3. 제한 시간 내에 문제를 풀지 못한 경우
3-1. 다음날이나 다른 문제를 풀고 1번부터 다시 진행한다. 2회 차에도 풀지 못한 경우 3-2로 넘어간다.
3-2. 다른 풀이를 본다.
3-3. 풀이를 해석하며 내가 이해한 방향으로 리팩터링 한다.
4. 정답 코드를 제출 후 더 나은 풀이(시간복잡도가 더 빠르거나 다른 방식으로 리팩터링 할 수 있는지 확인)가 있는지 다른 풀이를 살펴본다.
5. 4에서 터득한 내용을 복습 후 다른 문제를 풀 때 적용한다.
위 방법을 진행하기 전 전제조건을 세웠다. 숏 코딩은 배제하고 이해하기 쉬운 코드를 작성하는 것이다.
이유는 풀이가 올바르지 않은 경우 디버깅을 머리와 손으로 해야 하는데, 숏 코딩에 익숙하지 않은 나로서는 이해하기 쉬운 코드를 작성하는 편이 내 강점을 활용할 수 있으리라 판단했기 때문이다.
이로 인해 풀이가 올바르지 않았을 때 디버깅을 빠르게 하여 올바른 풀이를 작성할 수 있었다.
앞으로의 방향은?
원래는 Prgrammers Level 2를 풀 생각이었다. 그러나 유형별로 문제를 풀 수 없었다.
우선 유형별 풀이에 익숙해지기 위해 BaekJoon으로 넘어갈 생각이다.
목표는 각 유형별로 실버5부터 골드 1까지 풀어보는 것(한국어 제공)이다. 순서는 '이것이 코딩테스트다'의 목차 순으로 진행할 예정이다.
지금부터 긴 시간이 걸리겠지만 우선 하나의 유형(그리디)을 끝낼 예정이다.
한 단계 한 단계 나아가다 보면 최종 목표에 도달할 수 있을 것이다.
'회고' 카테고리의 다른 글
[회고] 개략적인 Back-End Road Map (0) | 2023.11.07 |
---|---|
[회고] 사하라 사막을 횡단할 때 직선으로 가지 않습니다. 지그재그로 가게됩니다. 왜 그럴까요? (0) | 2023.07.21 |