SW 마에스트로 1차 코테 후기

영모·2022년 1월 11일
0

IT 대외활동

목록 보기
1/7
post-thumbnail

1차 코딩테스트

8문제가 나왔고 평균 백준 실버 3정도의 난이도.

문제 분석

1. 위상정렬

기본적인 위상정렬 문제였다. 백준에서 위상정렬 문제는 골드 4정도부터 시작되는데, 이 문제는 골드3과 골드 2 사이 난이도의 문제였다. 참고로 나는 1번을 못풀었는데, 이 문제가 위상정렬인걸 몰랐다. 그리고 위상정렬 문제를 하나도 안풀어봐서 단순 탐색을 하면 되겠거니 싶었다. 첫 문제를 못풀고 넘어가서 찜찜할 수 밖에 없었지만, 다음 문제는 꼭 풀어야된다 하면서 넘어갔다. 하지만 위상정렬 문제를 풀어봤고, 공식을 알고있다면 쉽게 풀리는 문제다.

2. 그리디 알고리즘

단순하면서 이게 맞나 싶은 그리디 알고리즘 문제였다. 실버 4~3정도의 문제였다고 생각한다. 문제는 생각보다 단순해서 이해하는데 어렵지 않았다. 복잡하게 생각하면 못푸는 그런 유형 중 하나였다. 백준에서 그리디 문제를 풀어보면 "그냥 이렇게 하면 됐었네! 아 왜 못 풀었지.."하는 문제들이 있는데 그런 문제다.

3. 투포인터

투포인터 문제였는데 문제를 보면 투포인터가 바로 생각날 만할 정도로 직관적이지는 않았다. 하지만 엄청 어렵지는 않았다. 투포인터까지 생각했다면 문제를 푸는건 어렵지 않은 그런 문제다. 어떤 문제에 (TIP : 투포인터 사용) 이렇게 써놓은다면 곧바로 풀 수 있는 문제라고 생각한다.

4. 애드훅 or 반복문

단순 반복문이었다. 솔직히 DP를 사용할 수 있다고 생각한다. 왜냐하면 반복되는 무언가가 존재하고, 그것을 여러번 사용하기 때문에 DP로 풀면 시간복잡도를 많이 줄일 수 있었다. 하지만 단순 반복문으로 풀자고 생각했는데, 우선 주어진 범위의 값들이 많지 않았다. 그리고 제한 시간도 1분이어서 절대 시간 초과나 메모리 초과가 발생하지 않을거라는 확신이 있었다. 만약 DP였다면 실버 1이나 골드 4였을 것 같다.

5. 애드훅 or 슬라이싱

최댓값과 관련된 문제였다. 생각보다 어려울 수 있었다고 생각한다. 차근차근 풀면 쉽게 풀리는 문제였다. 방금 이말은 정말 무책임할 수 있었다는 걸 인정한다. 차근차근 풀면 쉽게 풀린다. 그치만, 이 문제는 순서대로 생각하면 잘 풀린다는 뜻이었다. 뭐부터 해야할지 정하고 그것을 실행하면 되는 문제였다.

6. 분할정복

분할정복 문제였다. 백준에는 4분할로 쪼개는 문제의 난이도가 실버 3(색종이 만들기)으로 되어있다. 그것보다는 쉬웠지만, 같은 내용을 공유한다고 생각해서 난이도는 크게 달라지지 않는다고 생각한다. 4분할로 쪼개면서 무언가를 복잡하게 생각하는 문제가 실버 1(쿼드트리)로 되어있지만 그정도는 아니었다. 실버 4와 실버 3사이의 분할정복 문제였다.

7. SQL - JOIN

SQL은 그냥 WHERE절 정도 나올 줄 알았는데, JOIN이 나왔다. 어렵지 않았는데 마지막에 ORDER BY 조건을 빠뜨릴뻔 했다.

8. WEB - 미디어 쿼리

WEB은 공부를 하려고 했는데, 생활코딩 영상 몇 번 본 것만으로는 해결을 못했다. 못 풀었기 때문에 뭐라고 할 말이 없다. 나름 선택과 집중을 했다고 생각한다. 5문제 기준, 알고리즘 2문제, SQL은 꼭 맞추자가 목표였다. 하지만 웹 문제를 냄으로써 웹 공부를 조금이라도 했으니깐 소마의 의도가 통했다고 생각한다. 그리고 웹은 꾸준히 공부할거다.

후기

1차 코딩테스트를 위해선, 위상정렬 + 그래프 탐색(BFS, DFS)정도 외워놓고, 실버 3 수준의 문제를 넓고 얕게 풀어보면 됐었다. SQL은 꼭 맞추는게 중요한데, 가성비 있는 문제여서 무조건 맞추고 들어가야한다는 마인드를 가져야 한다. WEB은 진입장벽이 있어서 여유가 되면 하는 것을 추천한다.

profile
iOS Developer

0개의 댓글