
[코딩테스트] 프로그래머스 데브매칭 후기
zl존석동
·2022. 10. 5. 15:06
프로그래머스 웹 백엔드 데브매칭 코딩테스트 후기
2022 Dev-Matching: 웹 백엔드 개발자(하반기)-1
career.programmers.co.kr
왜 봤나요
늘 본인의 알고리즘적인 사고나 구현능력이 형편없다고 생각하고 있었다.
몇 달간 알고리즘 지식과 구현 능력이 뛰어나신 한 분과 주 2회 알고리즘 스터디를 진행했다.
스터디 시간동안 서로 피드백을 받고 푼 문제에 대해 토론하고 대화를 나누는 시간을 항상 가졌다.
참고로 이력서는 공백으로 냈다. 쓸 것도 없다 ㅠㅠ
스터디 중간 결산
깃허브 리포지토리 파서 난이도, 걸린시간, 풀이 여부 등을 측정해가며 프로그래머스 문제들 위주로 풀었다.
주로 레벨2와 레벨3을 풀고 레벨1은 자바스크립트로 풀었다.
시험 결과
일단 붙긴했는데 한 문제 테스트 케이스 몇 개 때문에 20점 깎였다.
시험 문제는 비밀이니까 유형을 추상화하자면 매우 흔한 유형의 시간을 잘 줄여야 하는 그런 문제였는데
어떤 공식을 못 찾아서 시간초과 날 걸 알면서도 제출해서 초과 안날 만큼만 맞았다. (게임이 이미 져있네)
문제들은 생각보다 쉬웠는데 시험이고 긴장되다보니 신중하게 푸느라 시간이 많다고 느껴지진 않았다.
풀고나니 프로그래머스 레벨3 카카오 문제는 레벨3이 아니지 않나 싶은 생각이 들었다.
실력이 늘었나요?
긍정적인 점
문제를 많이 풀어서 그런지 좋은 경험을 많이 했다.
구조적으로 복잡하지 않은 레벨 2문제는 자바스크립트 풀이 가능함
lv2 에서 lv3 쉬운 문제 까지는 문제를 읽고 이해하고 원하는 방향으로 구현하는 것이 어느정도 익숙해짐
원래 잘 못하던 그래프 관련 문제 풀이에 어느정도 익숙해짐(물론 푸는데 오래 걸리긴 함)
부정적인 점
문제 푼 양에 비해 늘지 않았다고 생각한다.
구현이 어렵지 않거나 문제를 이해하고 접근했다 하더라도 시간이 너무 오래걸리는 문제가 많다.
복잡한 구현 문제의 경우 세심하게 읽고 엣지 케이스를 처리할 수 있어야 한다. 한 번에 통과하지 않는 문제가 많음
아직 특수한 DP문제는 매우 어렵게 느껴진다.
복잡한 구현 문제도 구조부터 생각하다보니 늘 오래걸리는데 일단 순차적으로 풀어보고 구조화 하는 방법으로 변경해보려함
아직 내가 푼 문제에 대한 효율성 체크가 미숙하다. 같이 하시는 분은 자기가 푼 거 바로 계산하시더라
앞으로는
lv3 난이도 있는 문제들을 구현이 복잡하거나 특수한 알고리즘을 요하거나 둘 다 였다. 목표는 lv3 문제를 읽고 올바른 방향으로 접근하여 구현할 수 있는 능력을 갖추는 것이기 때문에 더 노력이 필요하다.
다양한 구현문제를 더 경험한다
복잡하고 어려운 구현문제를 더 접해보고 어떻게 풀지 고민해볼 수 있어야 한다. 잘 푼 사람들 것을 참고해본다.
최소한 요구되는 지식이나 알고리즘들을 공부한다.
어떤 종류의 문제는 푸는 공식같은 것도 있다고 한다. 스스로 처음부터 생각하고 풀어보는 것도 중요하지만 베이스가 있다면 사고가 더 유연해질 것이라 믿고 있다!
특히 그래프, 트리 관련 특수 알고리즘 배경지식이 없다.
같이 하시는 분이 매일 강조하시는데도 아직 공부하지 않았다. 하자
프로그래머스 뿐만 아니라 백준 리트코드 등을 이용해 알고리즘 종류별 문제를 풀어보고 익숙해져야겠다.