[코딩테스트]오늘의 집_버킷플레이스

조성홍·2022년 3월 27일
2

코딩테스트

목록 보기
1/1

개요

아래 일정으로 진행된 오늘의집(버킷플레이스) 온라인 코딩테스트 복기 및 정리

일정

2022.3.26(토) 14:00 ~ 17:00(180분)

내용

오늘의집 채용 프로세스 중 첫단계인 온라인코딩테스트 단계입니다. 서류제출자 모두 온라인코딩테스트 응시가 가능하고, 서류 + 온라인코딩테스트 결과로 첫 단계를 진행하는 것 같습니다.

문제는 총 3문제였고, 프로그래머스 플랫폼을 통해 진행되었습니다.

가장 최근에 본 프로그래머스 코테와 비교해 크게 바뀐 부분은 없었고, 테스트 화면 내 UI가 기존에 비해 개선된 부분이 눈에 띄었습니다.
기본 언어는 C로 설정되어있던걸로 기억하고, 각 문제별로 언어설정이 필요했습니다.
(문제를 각각 다른 언어로 풀어도 되는지는 모르겠습니다.)

저는 Java를 사용할지 Python을 사용할지 고민하다 Python(Python3)을 선택해 테스트를 진행했습니다.

저작권 문제로 테스트문제에 관한 상세한 내용을 올리지는 못하고, 전반적으로 어떤식으로 접근을 했고, 어떤부분에서 막히게되었는지, 막힌부분을 어떻게 해결했는지 등을 정리해두었습니다.

(+ 관련해 문제가 되는 내용이 있다면 인지한 시점에 바로 수정해두록 하겠습니다. 언제든 알려주시면 감사드리겠습니다.)

총평

문제 해결과정에서 특정 알고리즘 지식이 필수적이진 않은 문제였다고 생각합니다.
제시된 문제 조건에따라 놓치는 부분없이 설계/구현할 수 있는지를 판단하는 문제들이라 느꼈습니다.

프로그래머스 문제기준 1~3+레벨 정도 난이도로 뒷번호 문제들이 난이도가 더 높았습니다.

1번

문제 조건에 따라 적당한 자료구조를 활용해 순차적으로 구현하면 되는 문제였습니다.

설계는 제대로 된 것 같은데 불일치하는 케이스가 존재해 생각보다 시간이 오래 걸렸던 문제였습니다. 잠이 덜깬 상태에서 초기화 조건하나를 빠뜨린 상태로 구현해둔걸 한 줄 한 줄 디버깅하다 발견해서 해결했습니다.

설계에서 처음 구현하는데까진 15분정도 걸린것 같고, 이후 30분정도 디버깅하다 주어진 케이스는 모두 통과하도록 수정했습니다.

테스트하시기전에 미리 연습문제 하나정도 풀어보시는게 도움이 될 것 같습니다.

2번

앞선 문제보단 문제이해와 설계과정이 조금 복잡한 문제였으나, 일반적인 코딩테스트 문제와 비교해선 평이하거나 조금 더 쉬운 수준이었다고 생각합니다.

문제 상황 속 핵심부분의 해결방안 설계만 잘 되었다면 구현은 굉장히 빠르게 가능한 문제였다고 느꼈습니다.

구현까지 끝내는데 10분 안쪽으로 소요된것 같습니다.

3번

처음 설계가 잘못되어 결국 완벽히 풀지 못한 문제였습니다.
문제 상황에 맞는 시뮬레이션을 통해 원하는 조건을 만족하는 경우의 수를 찾는 문제였습니다.

처음 접근시 아래 정리한 부분들이 단번에 설계가 안됐습니다.

  • 시뮬레이션 1회차에 대한 기준
  • 시뮬레이션의 시작점, 끝점에 대한 정의
  • 시뮬레이션을 각 단계별로 무엇을, 어떤 순서로 진행할 것인지
  • 주어진 검증조건을 어떤 식으로 판별가능한지

시뮬레이션의 명확한 기준을 정하지 않은채로 단계별 처리순서만 대략 정해 구현하면서 세부사항을 정하자는 생각으로 코드를 먼저 짰습니다만, 1시간 20분이 넘은 시점에서 설계한 시뮬레이션 단계별로 가능한 행동조건에 오류가 있다는걸 인지했습니다.

결국 남은 40분 동안 초기설계부터 원점에서 다시 진행했습니다만, 검증부를 완벽히 구현하지 못해 일부 케이스만 통과한 상태로 테스트를 마무리하게 되었습니다.

후기

개인적으로 아쉬움이 남는 테스트였습니다. 조금의 긴장감과 연습문제를 푸는 과정과 함께 테스트를 응시했다면 조금 더 만족할만한 결과를 얻을 수 있었을 것 같습니다.
구현 이전에 명확한 설계가 우선이라는걸 다시 한 번 느꼈습니다.

  • 테스트 시작 30분전 연습문제 풀기
  • 구현 이전, 문제상황에 대한 정확한 정리와 해결 과정의 명확한 설계 필요

일주일 뒤에 진행될 프로그래머스_데브매칭과 Wanted_쇼미더코드(백준진행)에선 위 문제점들을 보완해 테스트를 응시해볼 계획입니다.

일주일 뒤에 응시 이후 복기를 정리해 보겠습니다.

profile
웹 백엔드 프로그래머입니다

14개의 댓글

comment-user-thumbnail
2022년 4월 8일

혹시 코딩테스트 관련 질문드려도 될까요?

2개의 답글
comment-user-thumbnail
2022년 6월 23일

오늘의집 프로그래머스 챌린지로 지원하신건가요? 아니면 공채나 원티드같은곳내서 따로 지원하신건가요??

답글 달기