코딩테스트, 알고리즘, SQL

코딩테스트, 알고리즘, SQL
여기까지 온 여러분들도 사실은 정상이 아닐지도 모릅니다.

⚠️ 주인장의 개인적인 경험과 의견입니다. 16기에는 어떻게 바뀔지 모르니 참고만 해주세요

💡
“소마 공식 홈페이지 코딩테스트 FAQ”
📎SW마에스트로

코테 문제 출제 범위가 따로 있나요?

출처: 17기 연수생 모집공고 FAQ

지금 골드3를 40분 내에 못푸는데 가망이 있을까요?

🎀
Inpink
지금부터 연습하시면 충분해요! 아직 두 달이나 남았어요! 이미 지금 골3문제를 푸실 수 있는 정도면 조금만 더 연습하시면 충분히 가능합니다
Inmonim
저도 골드 3 정도면 꼬박 최소 3시간 넘게 풀고, 그 마저도 못 푸는 경우가 많았지만, 소마 코테는 어떻게든 뚫었습니다..!
상대 평가에서 항상 기억해야 하는 건, 몇 점을 맞느냐가 아니라 내가 옆에 있는 놈보다 많이 맞았느냐 입니다!

알고리즘은 어떤 난이도를 연습하는게 좋을까요? 실버?골드?

🎀
Inpink
실전 난이도랑 경쟁률 고려해서 골5 10~15분, 골4 20~25분, 골3 40~45분내에 푸는 연습 순차적으로 하면 좋을 것 같아요 이미 이거 이상으로 푸시는 분들 많겠지만요

스터디를 하는 방법도 추천드립니다! 소마에서도 스터디 꾸준히 하시는 분들은 항상 결과가 좋았던 기억이 있습니다 (물론, 혼자 잘 하시는 분들은 혼자하셔도 결과 좋습니다!)

기출문제는 어디서 볼 수 있나요?

🎀
Inpink
완전 문제공개는 금지라 기출문제를 볼 수는 없지만, 구글링해보시면 비슷한 문제들을 보실 수 있습니다!

연수생분들께서 비슷한 문제를 많이 뽑아두셨어요 코테에 자주 나오는 유형은 비슷비슷하니까요! 기업코테 준비하는 것처럼 하시면 돼요 ☺️

코딩 테스트 결과 알려주나요?

Inmonim
안 알려줍니다! 몇 개를 맞췄는지, 내가 몇 등인지 등,
시험과 관련된 결과는 오로지 합불여부만 공개됩니다.
별도로 문의를 하는 경우에도 알려주지 않습니다.

간혹 나는 분명 n솔했고, n-1솔도 합격했는데 왜 나는 떨어졌냐? 라는 울분을 토하시는 분들도 있습니다만, 정확한 채점 및 선발 과정 간 점수 배점은 오로지 사무국만 알고 있습니다.

나 n솔했는데 왜 떨어짐? 코테 말고 뭐 다른 거 봄? 이런 질문을 가지시기보단, 이번에 떨어졌으니까 더 열심히 해서 다음 기수를 노리겠다! 거나 빠르게 취업를 해버리겠다!는 마인드로 다시 열심히 나가시기를 바랍니다.

15기 2차 코딩테스트 난이도는 어땠나요?

🎀
Inpink
백준 기준 실골골플골 느낌이었습니다
https://www.acmicpc.net/problem/2240 2번이 이런느낌이었어요
기출 문제들은 구글에 검색해보시면 정보 더 얻으실 수 있으실 거에요 🫡

중요한 건 작년이랑 비슷한 난이도가 아닐 수 있음을 인지하고 계셔야 합니다! 저희 때도 sql이 갑자기 어렵게 나와서 당황하신 분들 많으셨어요

개인적으로 코테는 항상 더 어려운게 나올거라고 가정하고 평소에 준비해두는게 제일 실전에 도움 많이 됐어요
Inmonim
난이도가 가늠이 안 갈만큼 어려웠습니다, 저는!
문제는 대체로 순번에 따라 난이도가 올라가는 게 맞긴 한데,
제 경우에는 알고리즘은 2번과 3번 중 2번이 더 어려웠습니다.

사용하는 언어나 평소에 푸는 유형에 따라 난이도가 충분히 뒤집힐 수 있으므로,
순번대로 풀다가 막히면 다른 문제를 보고 오시는 것도 추천드립니다.

저는 2차 코테에서 1번과 3번을 맞추고 합격했었습니다.
2번은 아예 손도 못 댔습니다...

합격 커트라인은 어떻게 될까요?

🎀
Inpink
알 수 없습니다 ㅠㅠ

커트라인 며칠인지는 그때그때 봐야 알더라구요
문제 난이도와 참여자들의 점수에 따라 많이 달라집니다
작년 1차는 4솔이었습니다 1차 난이도는 브브실실골로 기억해요😁 
문제 하나는 골5 정도 였어서 커트라인 4개였나 봐요
사실 브, 실 문제로만 5개 나오면 2시간내에 다 풀어야 한다고 봐요
문제 난이도에 따라 커트라인 많이 달라질거라서 최대한 잘 준비하는게 유일한 방법입니다!!

✊ 빠르고 정확하게 푸는 연습 해봐요!
Inmonim
올해 수능 수학 1등급 맞으려면 몇 점 맞아야 해요? 와 같은 결의 질문입니다... 92점 맞으면 1등급일까요? 80점 맞으면 1등급일까요? (물론 100점이면 무조건 1등급이기야 하겠지만)

몇 문제를 풀었는가는 전혀 중요하지 않습니다.
나랑 시험 같이 친 사람들보다 많이 풀었냐가 중요하죠.
그리고 무엇보다, 채점 결과를 알려주지 않기 때문에 오히려 혼란만 가중될 수 있다 생각합니다.

3솔 했다는 사람도 까고 보면 1솔 했을 수도 있고,
1.5솔 한 거 같다는 사람이 2솔 했을 수도 있습니다.

따라서 만들어지지도 않았고, 정확히 알아낼 수도 없는 합격 컷에 신경쓰기 보다,
옆에 사람들은 재낀다는 마인드로 꾸준히 문제를 푸시는 걸 적극 추천드립니다.

백준/프로그래머스 등 어떤 레벨, 몇 분 이내에 풀어야 코테 합격 가능성 있을까요?

🎀
Inpink
프로그래머스보다 백준이 레벨링이 잘되어있어서 백준 기준으로 말씀드리자면, 작년 200명 뽑던 기준으로 5문제 중 2.5솔이 안정권이었으니, 넉넉하게 40분에 골드3 한 문제 풀 수 있도록 훈련하시면 될 것 같아요

15기에는 sql 문제가 프로그래머스 레벨4 초과로 어려웠어서 AI하시는 분들은 sql풀고 합격하신 분들도 꽤 봤어요ㅎㅎ (1번은 쉬운 문제였어서 다들 푸셨고 1번 + 5번 SQL 푸셨다는 뜻)

프로그래머스 vs 백준 뭘 푸는게 좋을까요?

🎀
Inpink
작년 알고리즘은 백준이랑 비슷했고 SQL은 leetcode랑 비슷했다고 하더라구요 이번엔 어떤 방식으로 나올지는 아무도 모르니까 저라면 다양하게 풀 것 같아요!
Inmonim
*초보자 기준 설명입니다!

일단 17기까지 1차까지 응시 환경이 프로그래머스였기 때문에 환경에 적응하는 게 우선이라면, 프로그래머스를 추천드립니다.

백준은 인풋/아웃풋을 신경써야 하기 때문에 프로그래머스와는 확실히 감각이 다른 편이라,
평소에 두 플랫폼을 모두 써오신 게 아니라면 프로그래머스 문제에 일단 집중하시는 걸 추천드립니다.

외국 사이트로 코딜리티 또한 프로그래머스와 비슷한 입출력 양식을 가진 것으로 알고 있습니다. 여기도 꽤 많은 기업들이 응시 환경으로 쓰고 있으므로, 한번 써보시는 것도 추천드립니다!

코테 문제 풀 때 시간복잡도 낮은 풀이가 더 얼마나 더 가산점이 있을까요?

🎀
Inpink
내부기준을 알기 어렵긴한데..

대부분의 코테에서 1) 정해진 시간제한 내에서 2) 엣지케이스 없게 정확하게 풀기 이거 2가지가 중요해요

정해진 시간 내에서 더 빠른 시간복잡도인지 아닌지는 부가적이라 생각합니다!

너무 쉬운 문제들로만 구성되어 있어서 만점자/동점자가 많으면 그 때 시간복잡도, 문제 풀이에 걸린 시간, 코드 등을 보지 않을까요?

정리하자면 우선 정확하게 시간 내에 푸는 것이 가장 중요합니다
Inmonim
최적화가 잘 될수록 좋은 건 맞으나,
소마를 제외한 대부분의 코딩테스트에는 부분점수가 없다는 점.
즉, 50개의 케이스에서 1개의 케이스만 못 맞춰도 그 풀이는 0점이 된다는 점.
결국 중요한 건 속도보단 정확도가 무조건 최우선이라는 생각입니다.

소마는 부분점수가 있다고 하나,
그 부분점수가 어떻게 계산되는지는 알려주지 않는 것으로 알고 있습니다.
그렇기에 아래는 철저히 저의 뇌피셜이므로, 그냥 그럴 가능성도 있긴 하겠구나로 이해해주시기 바랍니다.
부분점수가 "테스트/히든 케이스를 맞춘만큼 준다" 일수도 있겠지만,
백준의 몇몇 문제처럼 "모든 케이스를 맞추는 걸 전제로, 2초 안에 해결하면 50점, 0.5초 안에 해결하면 100점" 같은 방식으로 부분 점수 배점을 할 가능성이 존재한다고 생각합니다.
후자의 경우에는 모든 케이스를 맞추지 못하면 애초에 얼마나 빠르던 간에 0점일 수도 있는 것이죠.

일단, 부분점수의 정체가 뭐던 간에, 적합한 알고리즘과 엣지케이스, 경계값을 계산해서
"정확한 값"을 내는 게, "가능한 한 빠른" 풀이 보다 훨씬 중요하다 생각합니다.

그럼에도 실제로 맞춘 수만큼 점수를 줄 수도 있는 것이므로, 일단 한 개 이상 케이스를 맞췄다면 끝나기 전에 무조건 제출하셔야 합니다.

제 티어가 골드인데 골드 문제 푸는 것이 어려워요

🎀
Inpink
원래 골드면 실버까지만 쉽게 푸는게 정상입니당 걱정마세요

아직 최종 코테까지 2달이나 남았는데 지금부터 준비하시면 충분해요~!저도 플레4인데 골드2~3정도까지만 정답안보고 풀 수 있어요
Inmonim
저도요. 저도 그냥 양치기입니다. 음메에
지원 당시에는 골4였던 걸로 기억합니다...

SQL은 어떻게, 얼마나 공부하는게 좋을까요?

🎀
Inpink
프로그래머스에 있는 문제 풀이 꼭 보면서 다 풀어보세요!

혼자 1~20분정도 고민해보고 안풀리면 좋은 풀이 많이 참고해보시는 게 좋아요. 작년에 저도 프로그래머스로 주로 준비했는데 2차 SQL이 프로그래머스에 없는 어려운 문제로 나왔었어요

프로그래머스 다 푸시고 leetcode도 풀어보세용
Inmonim
이건 시간이 많고, 준비된 게 있어야 쓸 수 있는 방법인데, 한번 해보면 좋다고 생각하는 겁니다.

개인 블로그에 구글 애널리틱스를 달아두고, 해당 데이터를 GCP Bigquery로 넘긴 다음, "이 방문자는 어느 시간대에 주로 방문했는가", "평균 체류 시간 및 페이지 별 스크롤 depth는 얼마인가" 같은 생활 밀착형 쿼리를 직접 짜보시다 보면 실력이 정말 많이 늡니다.
정규 표현식이나 재귀 쿼리는 물론이고, CTE를 10개까지 만들어야 하던 때도 있었습니다.
무엇보다 "내가 실제로 궁금해서 날리는 질의 쿼리"이므로, 기억에도 오래 남아있어 장기적인 실력 향상에도 매우 긍정적인 방법이 아닌가 싶습니다.
(사실 트래픽도 있고, GA도 이미 달려있었어야 했다는 전제가 필요하지만...)

SQL은 보통 문제가 존재하는 곳이 많이 없습니다만, 제가 아아아주 옛날에 SQL을 아예 첫 시작으로 공부했던 사이트가 있습니다.
영어긴 하지만, 아주 기초부터 차근차근 알려주므로 아예 바로 프로그래머스 문제를 푸는 것도 힘들다면 아래 SQL zoo 튜토리얼 사이트를 이용해보시는 것도 좋을 것 같습니다!
SQLZoo

코딩 테스트 때 디버깅이나 코드 실행 가능한가요? ㅇㅇ도 가능한가요?

🎀
Inpink
15기에는 프로그래머스 코딩테스트 환경에서 진행됐습니다!

프로그래머스라면 print찍어서 결과 확인할 수 있습니다. 코드 실행해서 테스트케이스 맞았는지 확인할 수도 있고, 테스트케이스 직접 추가할 수도 있어요!

SQL도 SELECT문으로 테이블 정보 찍어볼 수 있고, 똑같이 실행할 수 있습니다서류 합격자이시라면, 메일로 전달받은 테스트 환경과 안내문에 자세하게 설명되어 있습니다.

직접 테스트해보실 수 있습니다! 이외로 애매한 부분은 단톡방에 질문 주셔도 좋고, 제일 정확한 것은 메일에 안내된 공식 문의처로 문의하는 것입니다! 매우 자세하게 잘 알려주십니다 ☺️

백준에서 문제가 되게 많은데 뭐를 풀면 좋을까요?

🎀
Inpink
코테에 자주 등장하는 분야 뭐가 있는지 알고계시나요?
백준에서 태그(완탐, dp, bfs 등) 별로 조회하는 페이지 가보시면 문제가 많은 주제들이 있어요. dp, 그리디처럼요.

문제가 많다는건 그만큼 많이 출제됐다는거죠 저는 태그별로 정복하는 방식으로 풀었는데, 이미 태그별로 어느정도 정복하셨다면 실랜디나 골랜디로 CP(competitive programming)처럼 풀어보시는 것도 좋아요

태그별로 기반 다지실거면 태그별로 정복하시는거 추천드리고, 마지막엔 태그 안보고 랜덤문제도 꼭 풀어보세요(CP 연습) 혹은 프로그래머스 3레벨도 좋습니다

CP가 뭔가요? 코딩테스트 준비할 때 CP 연습이 왜 필요한가요?

🎀
Inpink
CP는 competitive programming으로, 일정 난이도의 랜덤한 문제를 시간 내에 푸는 것을 뜻합니다! 백준에서 알고리즘 대회나, 코딩테스트가 이에 해당돼요!

반대로 알고리즘 문제를 학문적으로 공부하고 푸는 것을 PS(Problem Solving)이라고 하는데, PS만 했을 때는 시간 내에 문제를 푸는 연습이 부족할 수 있어요 실전 대비 연습을 많이 할수록 코테도 잘볼 확률이 높아진다고 생각해요

수능을 잘 보기 위해서 모의고사를 많이 풀어보듯요!

저는 소마 2차 코테 때 CP 경험이 많지 않아서 2.5개밖에 못풀었고 이게 꽤 안정권이였지만, TO가 더 적었다면 충분히 3컷도 날 수 있었다고 생각해요 그리고 이 차이는 CP 연습 유무에 달렸다 생각합니다.

기존에 풀었던 알고리즘 문제 다시 푸는 것도 좋을까요?

💡
Inpink
좋다고 생각합니다.

저는 기존에 플레 달아놓고 소마 코테는 한달(알고2주, sql2주) 집중해서 준비했는데 알고리즘은 복습시간이 70%였어요 (기존에 풀어놨던 문제가 많아서 복습 시간이 더 오래 걸린 케이스)

저는 백준에서 문제집 만들어서 풀었던 문제들 풀이 다시 익혔고, 백준 부계정 파서 문제 다시 풀어보는 분들도 많이 봤어요

제가 작년에 복습시간에 연습한 건
1) 풀었던 문제가 어떤 태그인지 맞추기
2) 풀었던 문제의 풀이를 혼자 생각할 수 있는지 확인하기 위해 다시 풀어보거나, 슈도 코드로 로직만 작성
3) 실수한 부분은 필기노트를 만들어서 여러 번 보며 외웠습니다

소마 홈페이지에 1차 코테 인원이 3배수라고 적혀있는데, 15기에도 그랬나요?

🎀
Inpink
제 기억상 15기에는 몇배수인지 적혀있지는 않았습니다.

그래서 15기 지원하신 분들이랑 최종 면접때 되어서야 면접까지 간 인원 몇명인지 계산하고, 그때서야 배수 알게된 기억이 있어요.

하지만 15기 배수도 16기와 동일할 가능성이 높습니다. 16기 공개된 2차 코테 합격 배수가 15기와 똑같았어요.

코테, 면접 배수가 어떻게 되나요?

Inmonim
아래 사진과 같이 공식 홈페이지에서 확인이 가능합니다.
1차 코딩 테스트 합격자(2차 코딩 테스트 응시자)는 선발 인원의 3배수로 900명
2차 코딩 테스트 합격자(면접 응시자)는 선발인원의 1.5배수로, 450명
이렇게 정해졌습니다.

코테볼 때 부정행위, 주변 촬영 빡세게 잡나요?

🎀
Inpink
네. 다른 기업 코테도 봤는데 온라인 코테 중 소마만큼 빡세게 잡는 곳 잘 못봤습니다.

프로그래머스 환경에서 코테가 진행됐는데, 제공해주는 모든 모니터링 옵션을 다 구매한 느낌이었어요. 철저하게 화면이랑 사전 주변 촬영까지 빡세게 진행되는 편입니다.

작년 네이버는 라이브 영상 찍긴했는데 사전 주변 촬영이랑 종이검사는 안했습니다.라이브 촬영을 2개를 해요. 모니터 바라보는 얼굴, 옆에 거치해놓고 팔 다 나오는 상체. 후자는 보통 폰으로 많이 찍습니다 (사전 촬영 - 코테 시작하기 전 주변 환경을 사진 찍음. 라이브 2개 촬영과는 다른 것입니다.)

네이버 카카오같은 기업 코테랑 비교하면 소마 2차 코테는 난이도가 어느정도인가요?

🎀
Inpink
요즘 IT대기업 코테가 잘 안열리긴하는데 작년 네이버랑 비교하면 대략 비슷했다?라고 느껴지네요

둘다 같은 2시간이었고, 네이버가 대략 골3~5문제 3문제 나왔고, 소마는 실골골플골이었으니까용

카모빌 코테는 쉬웠어서 만점자도 많았을거구요 토스 넥스트 코테는 소마보다도 어려웠던 기억이 있네요

코테는 그때그때 난이도가 달라지긴하는데, 문제 난이도만두고보면 소마도 기업코테만큼 어려운편이긴 해요!

다만 취직만큼 경쟁률이 높지않아서 커트라인이 좀더 낮은게 포인트입니다

또 요즘 기업 코테는 스토리텔링식으로 긴 문제가 나오는데, 소마 알고리즘은 백준 문제 기반이 많아보였어요

코테 시 종이, 펜 사용 가능한가요?

🎀
Inpink
저희 땐 A4용지와 펜 1개 사용 가능했습니다
A4에는 아무 것도 적혀있지 않은지 앞뒤 확인하셨습니다
종이는 처음에 1장만 사용 가능하고, 만약 종이가 더 필요하다면 허락받고 하나 더 가져와 사용할 수 있습니다
사전에 정해진 룰은 코테보실 때 정확하게 안내가 됩니다.

다만 사람이 판단하는 거다보니, 지도가 감독관마다 살짝 다를 수 있습니다.

예를 들어 저는 1차와 2차 모두 같은 스터디룸 빌려서 봤습니다.
1차 때 주변 환경에 대해 뭐라고 하시지 않으셨는데 2차 때는 어디서 보는 거냐고 질문주시더라구요. (스터디룸이 약간 회사 사무실처럼 생겨서 말씀하신 듯합니다)

집이 너무 시끄러워서 코테 보기 어려울 거 같은데 어떻게 하면 좋을까요?

🎀
Inpink

저는 스터디룸 빌려서했어요! 집이 소란스럽다고 느끼시면 외부 장소 대여하는 거 추천드립니당 돈이 좀 들지만요 ㅎㅎ

노트북 사용하는데 외장 모니터 사용 가능한가요?

🎀
Inpink
15기에서는 클램쉘 모드로 가능했었는데 이번 기수에는 안된다고 합니다! (메일로 온 안내를 참고해주세요)

방이 너무 더러운데 문제 없을까요? 코테 볼 때 ㅇㅇ는 치워야 할까요?

🎀
Inpink
저는 어두운 커튼으로 가리고 봤습니다! 자세한 기준은 메일로 안내된 문의처에 문의하시길 바랍니다!

목차 페이지로 돌아가기

SW Maestro 15기 수료생의 FAQ
😃 단톡방에서 제가 답변드렸던 것만 정리해두었습니다 ⚠️ 주인장의 개인적인 경험과 의견입니다. 16기에는 어떻게 바뀔지 모르니 참고만 해주세요 🥳 궁금하신 건 편하게 질문해주세요! 🎉 열정을 다해 준비하신다면 소마 16기뿐만 아니라 원하시는 목표에 계속 가까워지실 겁니당 화이팅!! 지원서, 포트폴리오, 면접 지원서, 포트폴리오, 면접⚠️ 주인장의 개인적인 경험과 의견입니다. 16기에는 어떻게 바뀔지 모르니 참고만 해주세요 교내 수상 쓰는