2020 소프트웨어 마에스트로 11기 1차 온라인 코딩 테스트를 통과하고 2차 온라인 코딩 테스트를 보게 되었다.

원래 2차는 오프라인 코딩 테스트가 예정되어 있었지만, 코로나 바이러스 때문에 2차도 온라인 코딩 테스트로 변경되었다.

2차 온라인 코딩 테스트는 2020년 4월 26일 일요일 14시부터 16시까지 2시간 동안 진행되었다.

1차 온라인 코딩 테스트와 마찬가지로 알고리즘 3문제, SQL 1문제, 웹 프로그래밍 1문제가 출제되었다. 그리고 1차와 마찬가지로 구름 플랫폼에서 코딩 테스트가 진행되었다.

1차와 달라진 점은 난이도밖에 없는 것 같다. 웹을 제외하고 나머지 문제들의 난이도가 훨씬 올라간 느낌을 받았다.

1번 문제는 DP문제였다. DP문제 중에서 유명한 문제라고 한다. 본인은 DP 풀이가 생각이 나지 않아서 일단 빠르게 완전 탐색으로 풀었다. 시간 초과가 날 것을 알았지만 우선 빠르게 모든 문제를 푸는 게 중요하다고 생각했다. 5분가량 풀고 테스트 케이스가 다 맞는 것을 확인하고 다음 문제로 넘어갔다.

2번 문제는 3문제 중에 가장 어려웠다. 처음 딱 보자마자 어렵다는 느낌을 받았다. 알고리즘 유형으로 따지면 유니온 파인드라고 한다. 본인도 유니온 파인드를 이용해서 풀었다. 이 문제만 1시간 넘게 풀어서 시간 초과는 생각하지도 못했다. 테스트 케이스가 다 맞는 것을 확인하고 다음 문제로 넘어갔다.

3번 문제를 풀 때 이미 시간이 절반이 지나가 있었다. 이 문제도 완전 탐색 느낌으로 풀었다. 시간 초과가 날 것을 알았지만 다른 풀이가 생각이 안났고 일단 제출했다.

4번 문제는 SQL 문제였다. SQL도 1차에 비해서 난이도가 굉장히 올라간 느낌을 받았다. 본인은 서브쿼리를 이용해서 풀었는데 시간이 많이 부족해서 출력만 잘 나오는 것을 보고 제출하였다. 아마 빠르게 풀다 보니 실수를 했을 것 같다.

5번 문제는 웹 프로그래밍 문제였다. 본인은 웹에 대해 잘 몰라서 그냥 실행만 되게끔 해서 제출했다. 1차 때도 웹은 건드리지도 못했는데 2차 때도 마찬가지였다. 다른 사람들의 반응을 봤을 때, 웹은 1차보다 쉬웠다는 반응들이 있었다. 

분명한 것은 1차 온라인 코딩 테스트에 비해 전체적인 난이도가 올라갔다는 것이다.

그래서 아마 컷도 낮아질 것 같고 효율성까지 따졌을 때 완벽하게 알고리즘을 푼 사람은 그렇게 많지 않을 것 같다.

효율성까지 체크를 하는지는 모르겠다.

본인 생각에는 문제 수준을 생각했을 때, 3솔 정도가 합격 컷이 될 것이라고 생각한다.

합격 발표가 언제인지는 모르겠지만, 열심히 푼 만큼 합격했으면 좋겠다.

2020년 현대카드/캐피탈/커머셜 Summer Internship 온라인 코딩 테스트는 4월 25일 토요일 오전 10시부터 2시간 동안 진행되었다.

문제는 총 4문제로 구성되었다.

문제 풀이에 사용되는 언어는 C++, JAVA, JavaScript, Kotlin, Python3, Swift 이렇게 6개였다.

문제마다 풀이 언어는 달라도 된다.

2020 현대카드 온라인 코딩 테스트는 프로그래머스 플랫폼에서 진행되었다.

전체적인 난이도는 중하 정도라고 생각한다.

1번 문제는 문자열을 이용한 구현 문제였다.

모든 기업 코딩 테스트에는 문자열을 이용한 구현 문제가 하나씩은 꼭 들어가는 느낌이다.

딱히 풀이가 생각나지 않았고, 결국 풀지 못했다.

주변 사람들은 하드 코딩으로 했다는 사람도 있었다. 문제 난이도는 어려운 편은 아니었다.

2번 문제도 문자열을 이용한 구현 문제였다.

구현이라고는 하지만 해싱을 적용해서 풀어도 됐을 것 같다.

본인은 3번 문제의 쓸 데 없는 부분에서 시간을 너무 많이 써서 풀지 못하였다. 1번보다는 쉬운 난이도였던 것 같다.

3번 문제도 문자열을 이용한 구현 문제였다.

약간 시뮬레이션 느낌도 났다. 그냥 하라는 대로 하면 되는 문제였다.

본인은 재귀를 이용하여 풀었다. 쓸 데 없는 곳에서 런타임 에러가 자꾸 나서 애먹었다. 1번 문제랑 비슷한 난이도인 것 같다.

4번 문제는 bfs/dfs/시뮬레이션 문제였다.

본인은 bfs를 이용하여 풀었다. 평소 bfs 문제를 풀어본 사람이라면 쉽게 풀 수 있었을 것이다.

관건은 bfs를 할 줄 아느냐와 구현 능력이었던 것 같다.

난이도 자체는 가장 어렵다고 생각하지만 비슷한 유형을 풀어본 사람들은 쉽게 느껴졌을 것이다.

최근 기업들의 코딩 테스트를 보면 어려운 알고리즘을 묻기보다는 구현 능력을 많이 보는 것 같다.

이번 현대카드 코딩 테스트에서도 모든 문제에 구현 능력을 보는 부분이 있었다.

앞으로 코딩 테스트를 준비하는 사람들이라면 구현/시뮬레이션 문제를 많이 풀어보는 것을 추천한다.

시간이 부족하여 2솔밖에 하지 못했다.

대부분의 사람들이 3솔 이상했다는 반응이 많았다. 99% 탈락이라고 생각한다.

이번에도 파이썬으로 빨리 갈아타야겠다는 생각이 들었다.

코딩 테스트는 빠르게 푸는 것이 중요한데 C++로 문자열 문제를 푸는데 시간이 꽤나 걸린다.

이 글을 읽는 사람에게도 문자열 문제를 수월하고 풀고 싶으면 파이썬을 배우라고 추천하고 싶다.

2020 NAVER CAMPUS HACKDAY (네이버 핵데이) 온라인 코딩 테스트는 2020년 4월 11일 토요일 오전 11시부터 2시간 동안 진행되었다.

총 알고리즘 3문제를 120분 동안 푸는 것이기 때문에 무난한 난이도가 예상되었다. 코딩 테스트는 참고용으로 사용한다고 했기 때문에 가벼운 마음으로 보려고 했다.

사진에 나와 있는 것처럼 이번 네이버 핵데이 온라인 코딩 테스트는 프로그래머스 플랫폼에서 진행되었다.

1번 문제는 무난한 구현 문제였다. 문자열을 이용한 구현 문제였는데 문자열을 이용하는 구현 문제를 어려워하는 본인도 무난히 풀었기 때문에 난이도는 쉬운 편에 속한다고 볼 수 있다. 물론 테스트 케이스가 많이 주어지지 않기 때문에 정확히 맞춘지는 모르겠다. 푸는데 한 20분 정도 걸린 것 같다.

2번 문제도 문자열 문제였다. C++ 언어로 문자열 문제를 풀 때 가장 곤란한 것은 띄어쓰기가 포함된 문자열이 나올 때이다. 이 문제도 띄어쓰기가 포함된 문자열이 주어져서 생각보다 오래 푼 것 같다. 이후에는 맵을 이용 하여 문자의 개수를 카운트하여 푼 기억이 난다. 이 문제는 한 30분 정도 걸린 것 같다.

3번 문제는 정말 어려웠다. 아마도 문제의 알고리즘 유형은 DP라고 생각하는데 정확히 모르겠다. 문제에서 10억 가까이 되는 수로 나눈 수를 리턴하라고 했기 때문에 그렇게 생각했다. 실제로 문제도 DP 느낌이 많이 났다. DP말고도 여러 방면으로 풀이를 생각해봤지만 1시간 동안 고민해봐도 풀이가 떠오르지 않았다. 아마 이 3번을 푼 사람은 나중에 인턴십 참가에도 영향을 주지 않을까 생각이 들 정도로 어려웠다.

시험이 끝나고 역시나 3번이 어려웠다는 반응이 대부분이였다. 1, 2번은 무난한 난이도였는지 1, 2번에 대한 얘기는 거의 없었고 3번 얘기만 많이 하였다.

2솔이라고 생각하고 합격을 기대해봐야 할 것 같다.

 

 

2020 상반기 라인 공채 온라인 코딩 테스트는 2020년 4월 5일 오전 10시부터 12시 30분까지 진행되었다.

라인의 온라인 코딩 테스트는 프로그래머스에서 진행되었다.

총 6문제였고, 시간은 150분이 주어졌다.

이번 공채 문제들의 난이도는 쉬운 것은 아니였지만 그렇다고 엄청나게 어려운 난이도는 아니였다고 생각한다.

1번 문제는 1번 답게 조금 쉬웠다. 본인은 스택으로 풀었는데 여러 가지 방법으로 풀 수 있을 것 같다. 하지만 문제 조건을 하나를 놓쳐서 틀렸을 것 같다. 문제 조건은 항상 빠짐 없이 확인해야하는데 급하다보니 실수를 하는 것 같다.

2번 문제는 딱히 풀이 방법이 떠오르지 않아서 완전탐색으로 풀었다. 테스트 케이스는 맞았지만 아마 효율성에서 점수를 못 받았을 것 같다. 문제 자체는 어렵지 않았다.

3번 문제는 딱 처음 봤을 때 조합으로 풀어야겠다고 생각했다. 하지만 입력 조건이 30만 정도여서 조합으로 풀면 시간 초과가 난다. 하지만 그걸 알고도 다른 풀이가 생각나지 않아서 그냥 제출했다. 푼 사람들 말로는 이분 탐색, 투포인터 알고리즘으로 풀 수 있다고 한다.

4번 문제는 맵을 이용해서 풀었다. 문제를 보자마자 맵으로 풀어야겠다는 생각이 들었고 맵을 사용할 줄 안다면 쉽게 풀었을 것 같다.

5번 문제는 순차탐색 하면서 정렬을 이용해서 풀었다. 프로그래머스가 시간제한을 몇 초로 주는지 모르지만 넉넉히 준다는 얘기를 들은 적이 있어서 그냥 풀었다. 이것도 다른 사람들 말을 들어보면 맵이나 셋으로 풀 수 있다고 하는 것 같다. 그게 맞다면 나의 코드는 효율성에서 거의 0점을 받았을 것 같다.

6번은 문자열 문제였다. 문자열 처리는 정말 어려운 것 같다. 이런 문자열 문제는 많이 접해보지 않았고 구현할 시간도 없어서 제대로 풀지 못했다. 이 문제만은 문제에서 부분 점수가 있다고 명시되어 있었다.

결과는 역시 불합격이었다. 대부분 반응은 완벽한 4솔정도가 합격 컷이라고 하는 것 같다.

 

 

이번 라인 코딩 테스트를 통해서 투포인터 알고리즘이라는 것이 있다는 것을 알게 되었다. 그리고 역시나 문자열 처리에 약한 모습을 보여줬기 때문에 이런 부분을 보완해야 할 것 같다.

 

 

이스트소프트는 다른 기업과 다르게 정해진 시간에 보는 것이 아니라 사진처럼 본인이 원하는 시간에 볼 수 있었다.

3월 28일~3월29일인데 제목이 3월 30일인 이유는 서버가 터졌기 때문이다.

29일에 시험을 보려고 했는데 서버가 터졌고 문의 결과 30일까지 기간을 연장해준다고 했다.

2020 상반기 이스트소프트 온라인 코딩 테스트는 코딜리티에서 진행되었다.

코딜리티는 외국 플랫폼이여서 문제들이 전부 영어다.

https://www.codility.com/

 

Remote Tech Interview and Screening Platform - Codility

Codility is a software platform that helps technical recruiters run remote interviews and hire strong engineers. Explore our platform by requesting a demo today.

www.codility.com

코딜리티에서 로그인을 하면 코딜리티에서 제공하는 문제들을 풀어볼 수 있다.

참고로 코딜리티에서 진행하는 코딩 테스트의 문제들은 복사가 안된다.

문제는 알고리즘만 4문제였고, 3시간 동안 풀 수 있었다.

모든 문제가 그냥 구현이었다. 특별한 알고리즘이 쓰인 문제는 없었다.

2번은 맵을 이용하면 시간복잡도를 줄일 수 있을 것 같다.

가장 힘들었던 문제는 4번이었다.

4번은 문자열 문제였는데 파이썬으로 풀면 쉽게 풀 수 있을 것 같았다.

하지만 본인은 C++ 유저이기 때문에 정말 힘들게 풀었다.

문자열 관련 문제에 약하기도 하고 다른 언어에 비해 C++이 문자열 처리는 조금 어렵기 때문이다.

출력하는 것도 정말 어려워서 이 문제만 2시간 가량 푼 것 같다.

어쨌든 4문제를 모두 풀긴했지만 정확히 맞은지는 모른다. 테스트 케이스가 1-2개밖에 주어지지 않았다.

모든 문제를 풀어서 조금은 기대했지만 결과는 불합격이었다. 아마 효율성까지 본 것 같았다.

시스템 엔지니어 직무는 서류 전형 통과와 관계 없이 코딩 테스트를 본다고 해서 일단 지원하였다.

2020 상반기 11번가 인턴 코딩 테스트는 객관식 및 주관식 20문제와 알고리즘 2문제로 구성되어 있었다.

사전테스트에서 객관식 및 주관식이 자바, 파이썬의 기본 문법을 묻길래 이런 류의 문제가 나오는 것이라고 생각했다.

본인의 개인적인 생각이지만 이번 11번가 인턴 코딩 테스트에서는 알고리즘 문제보다는 이 객관식이 더 관건이라고 생각한다.

심지어 객관식 및 주관식이라고 했는데 문제는 모두 객관식이었다.

문제는 주로 운영체제가 많았던 것 같은데 중간중간 클라우드 관련 내용도 있었다. 클라우드도 기초 지식이 아니라 완전 실무에서 나올법한 내용들이었다. 그냥 어려웠다.

알고리즘도 쉽지 않았다. 본인은 1번밖에 못풀었는데 그마저도 맞게 푼건지 모르겠다. 기억으로는 조합? 백트래킹?으로 풀었던 것 같다.

2번 문제는 풀이가 떠오르지 않았다. 느낌은 그리디 알고리즘, DP였는데 평소 그리디나 DP를 어려워했기 때문에 쉽게 접근할 수 없었다. 이를 통해 그리디와 DP를 보완해야겠다는 생각이 많이 들었다.

결과는 역시나 불합격이었다. 객관식 문제도 많이 틀렸을 것이고, 알고리즘 문제도 제대로 풀지 못했으니 당연한 결과다.

결과는 불합격이었지만 느낀 점은 많았다.

CS 기초 지식을 조금씩 공부해야겠다는 목표와 그리디, DP 알고리즘을 보완해야겠다는 목표를 가질 수 있게 되었다.

 

 

서류전형을 통과하고 온라인 코딩 테스트를 보게 되었다.

온라인 코딩 테스트는 3월 14일 14시부터 16시까지 총 2시간 동안 진행되었다.

본인은 당연히 알고리즘 문제만 나올 줄 알았는데 SQL1문제와 웹 프로그래밍 1문제까지 포함되어 있었다.

SQL 문제는 다른 기업의 코딩 테스트에서 내는 경우가 있기 때문에 그럴 수 있다고 생각했지만 웹 프로그래밍은 정말 의외였다.

평소 웹과 거리가 멀었기 때문에 웹은 거의 배제하고 공부하였다.

2020 소프트웨어 마에스트로 11기 온라인 코딩 테스트는 구름에서 진행되었다.

태어나서 처음으로 보게 되는 코딩 테스트였기 때문에 엄청나게 긴장한 기억이 있다.

문제 유출은 하면 안 되기 때문에 전체적인 흐름에 대해서 리뷰를 하겠다.

난이도는 생각한 것보다 쉬웠다. 원래 소프트웨어 마에스트로는 오프라인 코딩 테스트 한 번만 보는 것으로 알고 있는데 이번에는 온라인 코딩 테스트 + 오프라인 코딩 테스트이기 때문에 온라인에서는 문제를 조금 쉽게 낸 것 같았다.

알고리즘 3문제 전부 기본적인 구현 문제였다.

1번은 규칙을 찾아서 문자열로 구현하는 문제였다. 본인은 이 시기에 DFS를 열심히 공부하던 시기였기 때문이었는지 DFS로 완전탐색하였다. 시간 초과로 터졌을 것이라고 생각한다.

2번은 간단한 완전 탐색문제였다. 완전 탐색이긴 하지만 간단한 구현 문제라고 해도 무방하다고 생각한다.

3번은 언뜻 보면 어려워보였는데 이것도 규칙을 찾으면 쉽게 풀 수 있는 문제였다. 사람들마다 풀이가 조금은 다른 것 같지만 본인은 O(N)으로 제출하였다. 하지만 O(1)도 가능할 것 같다.

SQL문제는 프로그래머스에서 제공하는 SQL 문제들을 풀 수 있다면 가볍게 풀 수 있는 수준의 문제였다.

SQL을 만져본 지 오래되어서 코딩 테스트를 보기 2일 전부터 프로그래머스에서 SQL 문제를 풀었다. 많은 도움이 됐다고 생각한다.

웹 문제는 내 상상을 초월했다. HTML이나 CSS 정도 나올 줄 알았는데 훨씬 난이도 있는 문제였다.

물론 본인이 웹을 잘 모르기 때문에 어려웠던 것도 있다. 하지만 주변 사람들에 의하면 자바스크립트를 다룰 줄 알고 웹을 꾸준히 했다면 쉽게 풀 수 있는 문제라고 하였다.

본인 생각에는 2,3,4번만 맞았다고 생각한다. 정확히 몇 문제를 맞춰야 합격인지는 모르겠지만 운이 좋게 3문제 정도를 맞추고 합격하였다.

원래는 4월 26일에 오프라인 코딩 테스트가 예정 되어 있었지만 코로나 바이러스 때문에 이것마저 온라인으로 바뀌었다.

2차 온라인 코딩 테스트 또한 알고리즘 3문제, SQL1문제, 웹 프로그래밍 1문제로 나온다고 한다.

2차 온라인 코딩 테스트 후기도 26일 이후에 올리도록 하겠다.

+ Recent posts