sw마에스트로 2차 코딩테스트 후기
이전에 1차 코딩테스트 후기를 작성해 놨었는데. 떨어질 줄 알았던 1차 코테에 응시자격이 주어졌다..
아마 서버 장애로 인한 대응방안으로 1차 전원 통과인 것으로 보인다. (오픈채팅방에 보면 0문 제도 2차 자격이 주어짐)
지난 1차 시험에는 완전탐색이 주로 나왔었기에, 그래프를 집중적으로 공부를 했고, 삼성 기출이나 카카오 기출을 조금씩
풀어보며 준비했다. (문제 이해 능력)
2차 역시 나한텐 버거웠던 것 같다.. 결과는 어떻게 될지.. ㅠ 이번엔 1번, 2번 2문제를 풀었지만 지금 생각해 보면 2번이 완벽하게 푼 건 아닌 것 같다..!
1번 문제
간단한 구현 문제?
1번 문제는 String이 주어지고 문자열을 가지고 주어진 요구사항에 맞게 출력하는 문제였다.
String의 길이가 10만까지 였던걸로보아 한 번의 반복문으로 처리하려고 했고 그 안에 if문을 엄청 쑤셔 넣었다.
Stack이나 Queue와 같은 자료구조를 활용하면 더 깔끔하게 풀었을 것 같다!
난이도는 백준 기준 실버 3? 누구나 풀 수 있는 문제였다.
2번 문제
그리디
2번 문제는 유사한 문제를 풀고 갔기에 조금 도움은 되었다.
https://school.programmers.co.kr/learn/courses/30/lessons/150369
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
카카오 블라인드 문제였는데 거의 유사하다고 보면 된다!
시험장에서 이런 문제를 만나니 구현하는 도중에 문제가 많이 생겼었다.. 검증하기 어렵고, 에지케이스를 잘 못 떠올리면
망하는 것 같다. 여기서 시간을 다 잡아먹어서 힘들었다.. 결국엔 테스트 케이스를 통과했지만 다른 테스트케이스에 대해선
통과하지 못했을 것 같다.
백준 기준 골드 5 이상 정도로 예상됨..
3번 문제
구현
백화점에 들어갈 때 볼 수 있는 회전문과 관련된 문제였는데 주어진 조건에 맞게 구현을 하는 문제였다.
시간이 없어서 if문만 몇 개 끄적이다가 끝났다. 이런 구현문제를 만나면 자료구조를 사용하도록 하자.
계산에 편의를 가져다줄 것. 난 떠오르지 않아 포기!
1차는 탐색이 많았는데 이번엔 구현하는 문제가 많았던 것 같음.
난이도는 잘 모르겠다.. 고민할 시간도 별로 없었다.. ㅎㅎ.,.
4번 문제
플로이드와샬 + dp
최소 경로를 구하는 문제였는데 너무 어려웠다. 풀지 말라고 낸 건가.. 시간 내에 어떻게 5문제를 풀겠습니까 ㅎㅎ..
그래프에서 최소 경로를 구하는데 조건이 추가되어 상당히 까다로운 문제였고, 그 조건에 따라 dp로 푸는 문제인 것 같다.
난이도 측정 불가!
사실 SCC, 위상정렬과 같은 그래프 문제가 출제될 것 같다고 예상하여 열심히 준비했지만 손도 대지 못했다..ㅠㅠ
-> 1차 때 그래프 탐색 문제들이 많았고, 제한 사항이 매우 적었기에 완전탐색으로 풀 수 있었다. 따라서 제한사항이 증가되면 SCC 알고리즘으로 푸는 문제가 나올 수 있다고 생각하였고 백준 도미노 문제를 풀면서 진짜 좋은 알고리즘이라고 생각하며 열심히 준비했지만 출제되진 않았다.
그래도 도미노 문제를 풀면서 좋은 알고리즘 하나를 익혔다고 생각하기에 공유한다.
https://www.acmicpc.net/problem/4196
4196번: 도미노
도미노는 재밌다. 도미노 블록을 일렬로 길게 늘어세운 뒤 블록 하나를 넘어뜨리면 그 블록이 넘어지며 다음 블록을 넘어뜨리는 일이 반복되어 일렬로 늘어선 블록들을 연쇄적으로 모두 쓰러
www.acmicpc.net
플래티넘 문제이지만 알고리즘을 공부하고 익히면 꽤나 쉽게 풀 수 있다.
SQL
Union All
두 가지의 대칭되는 경우에 대해 Union all 하면 풀 수 있는 문제라고 했다. 1차에 비해 쉽게 출제된 듯하다.
하지만 나는 풀지 못했다. join 두 개로 접근을 좀 했으나 이렇게 했어도 틀린다고 한다. 시간 투자를 그래도 10분 정도 한 것 같은데 접근부터 틀렸다니 아쉽진 않다.
과연 2차 코딩테스트를 통과했을지 의문이다.. 난이도는 1차와 비슷하다고 생각했지만 조금 더 어려웠다는 사람도 많고 더 쉬웠다는 사람도 많다. (SQL은 쉬웠던 게 맞는 듯)
이번에 1차 코딩테스트 문제를 줄이면서 변화가 있었던 것 같다. 거의 기업 코테 수준이라고 하니 다들 준비 열심히 하길 바란다..
2차 코딩테스트를 합격했다면 면접 준비 및 후기 글도 작성하겠지.. 다들 파이팅 ㅠㅠ
떨어지게 되더라도 진짜 참여하고 싶었던 프로그램을 위해 준비했던 시간이 아쉽진 않고 좋은 경험이었다고 생각한다.
나름 배운 게 있었다고 생각함..!
시험 결과는 탈락했습니다 하하.. 아쉽지만 제가 부족한 것이니.. 앞으로 다음 부트캠프! 우테캠, 네부캠을 기다리면서 알고리즘 준비를 해야겠습니다~
-> 백준 다시 풀기(좋은 문제들을 너무 답지보고 빠르게 넘긴 부분들이 있었음)
-> 프로그래머스 기출 1,2레벨 정복하기! (나름 알고리즘, 아이디어가 좋은 문제들이 있는 것 같았다)
-> 백준 삼성 기출문제 정복하기.!
-> 알고리즘 인강보면서 기본내용도 정리하기.!
불합격 소식은 매번 가슴이 아프다..