SSAFY

싸피 8기 코딩테스트 합격 후기 및 코딩테스트 준비 과정 (SW 전공, SSAFY)

OSNIM 2022. 7. 1. 14:58
반응형

안녕하세요 OSNIM입니다.

 

벌써 7월이네요 

https://osnim.tistory.com/entry/SSAFY-8%EA%B8%B0-SW%EC%A0%84%EA%B3%B5-%EA%B8%B0%EC%B4%88-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%9B%84%EA%B8%B0

 

싸피 8기 코딩테스트 후기 (SW 전공, SSAFY)

2022년 8기 SSAFY 요약 모집기간: 2022년 5월 2일 - 5월 16일 응시자 준수 서약 및 신분증 제출: 2022년 5월 17일(화) ~ 5월 20일(금) 에세이 제출기한: 2022년 5월 17일(화) ~ 5월 28일(토) SW 적성 진단 사전 오..

osnim.tistory.com

제가 지난 8기 코딩 테스트 후기 글에 결과가 나오는 대로 최대한 후기를 남겨본다고 했었습니다. 

그런데 코딩테스트에 6월 10일에 합격 메일을 받았지만 면접 날짜가 2주도 안 남아서 바로 면접 스터디에 들어가서 면접 준비하고 회사 원서 준비 및 코딩테스트 보느라 시간이 없어서 후기를 남길 시간이 없었습니다. 

 

가끔 블로그 들어와서 통계를 보는데 생각보다 많은 분들이 이번 싸피 8기 검색을 해서 제 블로그에 방문을 많이 해주셨더라고요.

 

그래서 후기는 무조건 남겨야겠다 생각하고 오늘 부랴부랴 작성합니다.

 

싸피 8기 코딩테스트 합격 메일

반응형

저는 22년 6월 10일에 합격 메일을 받았습니다.

 

싸피 8기 코딩테스트 준비 과정

저는 컴퓨터 공학과를 들어갔지만 1학년 때 너무 논 나머지 학점이 많이 안 좋고 이수 학점도 매우 적어서 4학년 1, 2학기 모두 21, 20학점을 들었습니다.

여기에 인턴과 알바까지 병행해서 더더욱 취업준비를 할 시간이 없었습니다.

졸업하고 본격적인 취업 준비를 올해 2월부터 시작했습니다. 

 

싸피를 들어가기 위해 코딩테스트를 따로 준비했다기보다는 개발자 쪽으로 취업을 하기 위해 2월부터 알고리즘 문제를 하루에 1문제 이상씩 꾸준히 풀려고 노력한 것이 이번 코딩테스트를 합격하는데 큰 도움이 되었다고 생각합니다. 

 

구체적인 알고리즘 풀이 과정은 다음과 같습니다.

 

처음에는 나동빈 님의 "이것이 코딩테스트다 (파이썬 편)" 을 1회 정독하고 문제 풀이 방법을 이해하며 백준에서 비슷한 문제들을 풀어보았습니다. 

 

처음에는 문제가 풀리지 않아 몇 시간, 며칠을 고민해서 1문제 2문제 풀곤 했습니다. 그런데 위 문제는 효율적이지 못하고 고민한다고 풀이 실력이 빠르게 증가하지 않는 것을 느꼈습니다.

 

그래서 최대 2시간에서 3시간 정도 고민해서 풀어보고 안 풀리면 바로 다른 분들의 풀이를 보면서 풀이 방법을 배웠습니다.

 

그리고 여기서 하나라도 새롭게 배우는 것이 있으면 제 풀이 방법과 새로운 풀이 방법을 비교하면서 블로그에 글을 작성했습니다.

 

이 방법이 가장 빨리 코딩 문제 해결 능력을 향상해 주고 추후에 다시 복습할 때도 큰 도움을 주었습니다.

 

남에게 글을 쓴다는 것부터 부담을 갖게 해 주고 이는 대충대충 배우는 습관을 버리게 해 주었습니다. 그래서 차이점이나 배울 점을 정확하게 짚고 가면서 동시에 가장 빠르게 실력을 향상해 주었습니다.

 

반응형


그리고 제 나름대로 각 문제 유형별 풀이 패턴을 암기하려고 노력했습니다.

 

예를 들어 완전 탐색과 그래프 문제가 나오면 BFS를 바로 떠올려서 문제를 해결할 수 있나 고민한 뒤 가능하다면

BFS 함수 안에 deque로 큐를 만들고 visited라는 방문 체크를 하며 while문 안에 큐가 빌 때까지 탐색을 하고 dx, dy는 for문제에서 바로 적용시키자 라는 일종의 패턴과 규칙을 체화시켰습니다.

 

소수 문제가 코딩 테스트에 직접적으로 나오지는 않지만 구현력과 통찰력을 기르는 데 도움을 많이 주고 시간 초과 문제 해결 방법도 고민해볼 수 있는 가장 대표적인 예라고 생각해서 저는 소수 문제를 좋아했습니다.

 

소수 문제는 바로 에라토스테네스 체와 제곱근을 생각하면서 문제를 풀었습니다.   

 

다이내믹 프로그래밍의 경우 점화식을 세워보거나 중복되는 계산 문제는 없는지, 부분 문제가 최적의 해를 갖는지 체크를 하면서 풀었습니다. 

 

그 외 투 포인터, 재귀 함수, 이분 탐색 등 다양한 알고리즘을 풀어보고 제가 모르는 것이 있으면 이해할 때까지 문제를 파고들었고 파이썬으로 문자열 처리 방법 등을 제 나름대로 정리하면서 문자열 구현력을 길렀습니다.

 

유형별로 공부할 때 제가 한 방법은 https://solved.ac/ 에서 태그 별로 문제를 가장 많이 푼 순서대로 첫 페이지의 실버 5 이상의 문제들만 풀었습니다. 또한 프로그래머스의 고득점 키트를 모두 풀었습니다.

 

브론즈의 문제들은 크게 도움이 되지 않고 기분만 좋다고 생각해서 건너뛰고 실버부터 풀었습니다.

 

이 정도 단계를 지나니 어느 순간 저도 골드를 찍게 되었습니다. 이후에는 골드 문제부터 가장 많이 푼 순서를 기준으로 풀 지 못한 문제들을 풀었습니다. 만약 그 문제가 풀리지 않다면  그 보다 1단계 낮은 골드 문제를 풀면서 최대한 높은 문제에서 유명한 문제들을 풀려고 노력했습니다.

 

이렇게 4개월 동안 열심히 하고 나니 따로 D2~D3 문제들은 풀어보지 않고 SWEA의 환경을 점검하기 위해 시험 전에 잠깐 2~3 문제 정도 건드려본게 전부임에도 싸피 코딩테스트 2문제 모두 제출할 수 있었습니다.  (나중에 알고보니 1문제만 맞춰서 IM 취득을 했습니다.)

 

반응형

3줄로 요약하면 다음과 같습니다.

1. 나동빈 저 이것이 코딩테스트다 1회 정독 및 유형별 문제 풀이

2. 새롭게 배우거나 중요한 구현 스킬, 자신만의 유형 패턴은 블로그나 노션등에 기록하기

3. 자신의 티어와 비슷하거나 높은 수준의 문제들을 가장 많이 푼 순으로 풀어보기

 

제 글이 큰 도움이 될 지 모르겠지만 다음 싸피를 지원하는 분들에게 조금이나마 도움이 되었으면 해서 후기 남깁니다.

 

다음은 제가 싸피 면접 준비 과정 및 면접에 대한 후기를 남겨보겠습니다.

끝으로 오타나 글에 이상한 부분이 있으면 댓글 남겨주세요! 

방문해 주셔서 감사합니다.

 

반응형