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

영모·2022년 1월 11일
0

IT 대외활동

목록 보기
2/7
post-thumbnail

2차 코딩 테스트

5문제이고, 난이도는 백준 실버 1 정도였다.

문제 분석

1. BFS

1번 문제는 전형적인 BFS문제였다. BFS문제의 난이도는 백준에서 실버 1~3정도이다. 단순히 BFS만 하면 실버 3이고, BFS돌면서 무언가를 하면 실버 1~2정도인데, 무언가를 많이 하지는 않지만, 조건을 조금 고려해야해서 실버 3 난이도는 절대 아니라고 생각한다. 실버 1~2정도의 난이도라고 생각한다. 하지만 BFS 실버 3문제를 풀었다면 충분히 어렵지 않게 풀 수 있을 정도라고 생각한다.

2. DP

2번 문제는 DP문제였다. 노골적으로 DP를 말하고 있었는데, 1차 코딩 테스트의 4번 문제 업그레이드 시킨 문제였다. 입력값의 범위가 정말 컸다. 하지만 DP로 풀지 않을 수 있었던게 제한 시간이 똑같이 1분이어서 범위가 그렇게 크더라도 시간초과가 절대 날 수가 없기 때문에 시간이 없다면 DP로 풀지 않아도 됐다고 생각한다. 하지만 정석으로 간다면 난이도는 실버 1 ~ 골드 4 사이였다. 참고로 면접 때 코딩테스트 질문도 하는데 DP로 풀지 않았다면 그때 DP로 풀면 시간복잡도를 크게 줄일 수 있다. 라고 말하면 되었을 거다. 나는 DP로 풀었다.

3. 분할정복

2번 문제는 DP문제였다. 노골적으로 DP를 말하고 있었는데, 1차 코딩 테스트의 4번 문제 업그레이드 시킨 문제였다. 입력값의 범위가 정말 컸다. 하지만 DP로 풀지 않을 수 있었던게 제한 시간이 똑같이 1분이어서 범위가 그렇게 크더라도 시간초과가 절대 날 수가 없기 때문에 시간이 없다면 DP로 풀지 않아도 됐다고 생각한다. 하지만 정석으로 간다면 난이도는 실버 1 ~ 골드 4 사이였다. 참고로 면접 때 코딩테스트 질문도 하는데 DP로 풀지 않았다면 그때 DP로 풀면 시간복잡도를 크게 줄일 수 있다. 라고 말하면 되었을 거다. 나는 DP로 풀었다.

4. SQL - JOIN

SQL문제는 JOIN을 여러번 사용하는 문제였는데, 이어지는 컬럼을 유의하면서 풀면 금방 풀 수 있는 문제였다.
WEB문제는 또 할말이 없다. id값을 가진 dom객체를 가져오려면 getelementid?이걸 해줘야 하는데 우선 이것 조차 외우지 못했다.

5. WEB - JS 버튼 이벤트 함수

문제를 업그레이드 시켜서 내면 좋은 점이 문제 이해가 쉬워진다. 저번에 푼 문제기 때문에 문제를 읽어서 이해하는데 훨씬 가벼운 느낌이 들고, 긴장도 조금 사라지는 것 같았다. 원래 이렇게 하는지는 몰랐다. 그렇지만 1차 코딩테스트 끝나고 비슷한 문제 위주로 공부방향을 잡았다. 특히 위상정렬이 또 나오면 다음엔 맞춘다는 마인드가 생겼는데 아쉽게 나오지 않았다. 웹과 SQL을 확실히 풀 수 있는 사람이라면 알고리즘은 1문제를 맞춰도 합격할 수 있는 것 같다. 웹, SQL, 알고리즘 2개면 무조건 합격인 것 같다. 나는 SQL, 알고리즘 3 이렇게 합격을 했다.

후기 및 팁

  1. 한 달 넘게 남았다.
    1. 백준 단계별 풀이 28번(Union Find)까지 전부 풀기.
    2. 프로그래머스 SQL 고득점 KIT & SQL ZOO에서 Join문제까지 풀기.
    3. 생활코딩 WEB 강좌.
  2. 한 달도 안남았다.
    1. 백준 그래프 탐색(DFS, BFS), 그리디 우선 풀고. 트리 제외, 28번까지 한 두 문제씩 풀기.
    2. SQL ZOO Join문제까지 풀기.
    3. WEB 포기하기.
  3. 일주일 남았다.
    1. 백준 DFS & BFS, 그리디, 브루트 포스, 백트래킹 한 두 문제씩 풀기.
    2. SQL ZOO Join 문제만 풀기. (Join 문제 안에 Where, Order By, Group By 다 있음)
    3. WEB 포기하기.

DFS, BFS, 그리디 이게 확률이 가장 높다. 브루트 포스와 백트래킹은 약간의 애드혹의 무기를 쥐어주는 느낌이다. 알고리즘을 정교하게 몰라도 깡으로 풀려면 노가다적인 코드를 짤 수 있어야 하는데 그게 브루트 포스와 백트래킹이다. 많은 도움이 됐으면 좋겠어서 열심히 적어본다.

profile
iOS Developer

0개의 댓글