[우아한테크코스 8기] 최종 코딩테스트 후기

2026. 2. 3. 01:37·우아한테크코스 8기

+ 합격 발표 이후에 쓰는 글이라 말씀드립니다ㅎㅎ 최종 합격했습니다!

최종 코딩테스트를 준비하며

12월 29일 아클 면접을 보고 나와 1시간 즈음있다가 우테코 1차 합격 발표가 났다. 열심히 노력도 했고, 운도 같이 따라줘서 합격할 수 있었다. 합격 소식을 듣자마자 방방 뛰면서 여러 사람들과 합격의 기쁨을 나눴다! 

저됐어요 ㅈ됐어요가 아니라서 다행이였다

 

사실 최종 코테 준비는 많이 무서웠다. 1,2,3주차 미션을 할 때도 입출력 방식 등을 잘 몰라서 이전 주차 코드도 자주 돌아봤었다.

나는 매번 마무리를 못하는 내가 너무 싫었다. 끝까지 몰입하지 못해서 아쉬운 결과를 얻는 게 일상다반사였다. 그래서 이번에는 후회하지 않도록 최선을 다해 준비했다.

 

합격자 블로그 탐방

이전 기수 최종 합격자분들이 최종 코테를 어떻게 준비했는지 먼저 찾아봤다. 

많은 분들의 글에서 아래와 같은 부분이 공통적으로 있었다.

  • 해당 기수 마지막 주차 미션 복습
  • 이전 기수 최종 문제 풀기
  • 최종 코테용 스니펫 짜기
  • 최종 소감문 미리 작성하기

그리고 다들 '구현을 최우선'으로 하라는 말이 많아서 시간 재고 구현하는 연습을 많이 했다.

(그치만 이번 기수에서는 자소서 문항, 오픈 미션 등 변화가 많았던만큼 조금 달랐다. 뒤에서 자세히...)

 

그래서 너는 어떻게 준비를 했는데?

일단 먼저 이번 기수 1,2,3주차 미션들을 한 번씩 다시 풀어보면서 감을 잡았다. 문제를 풀 때마다 막히는 부분을 간단하게 쓰고, 어떻게 해결했는지 기록했다. 다 풀고 나서는 오답노트 쓰듯이 몰랐던 부분을 정리하고, 내가 준비한 문서 템플릿들에 내용을 추가했다.  

 

템플릿화 해서 준비한 것들

더보기
  1. 행동 강령
    초기 설정 관련 내용들이랑 어떤 순서로 풀지(기능 구현 목록 작성 - 디렉토리 분리.. 등)을 정리했다.

  2. 기능 구현 목록 템플릿
  3. 최종 소감문(일부만 미리 작성)
  4. 당황한 나를 위해
  5. 코드 스니펫
    • 크게 파일 디렉토리 구조, 입출력 포맷 등을 분리해서 준비했다

 

포수타에서 최종 코테는 3주차 수준으로 나온다고 해서 3주차랑 난이도가 비슷했던 6기 4주차, 6기 최종, 5기 최종을 추가적으로 풀어봤던 것 같다. 7기 최종도 맛만 봤는데 많이 어렵긴 하더라..;;

 

결전의 날, 최종 코테! (1월 10일)

전날까지는 고양에서 아인슈타인클래스 사전 교육을 받아서 코드 한 번 더 보고 그럴 여유는 없었다. 소감문 한 번 다듬고.. 마음의 준비를 하고 일찍 잠에 들었다. 그리고 12시 맞춰서 도착할 수 있게 잠실 캠퍼스로 출발했다. 바로 옆 스벅에 아아 사러 갔는데, 다 코테 준비하는 사람들인 것 같았다ㅋㅋㅋ 노트북에 인텔리제이, 노션 킨 사람들이 한 가득이였다.

 

 

맞다 프론트랑 백 줄이 따로 나뉘어있었는데 못 보고 선 사람들이 많아보였다. 나는 운 좋게 제대로 서서 앞에 사람들이 옆으로 훅 빠지는 바람에 3~4번째로 입장했다. 입장하고 나서는 노트북 셋업하고, 와이파이도 연결하고, 노션도 키고 준비했다. 

자리마다 놓인 선물들

 

달라진 최종 코딩테스트 문제 유형

10분 전부터 코치 한 분께서 시험 진행에 대해 설명해주셨고, 지원 페이지로 들어가니 최종 코테 문제가 올라왔다!

이번 문제는 행성 로또로 이번 기수 3주차 미션과 거의 동일하고 몇몇 조건만 다른 문제였다. 그래서인지 문제 푸는 시간을 4시간으로 줄이고, 1시간은 소감문 작성 시간으로 한다고 했다. 이번 미션에서 우테코가 보고자하는 포인트가 크게 2가지 달라졌다.

 

 

1. '본 프로그램의 목적은 기능 구현에 그치는 것이 아니라 프리코스에서 학습한 개발 방식(문제 분해, 설계, TDD)이 코드에 드러나는 것에 있다.'

 

라고 명시를 해둔 것이다. 나머지 말들은 별로 마음에 안 걸렸는데 TDD라고 명시를 해놓은 게 좀 걱정이 되긴했다. 나는 예외처리를 위해 테스트 코드를 작성하다보면 생각나는 예외가 너무 많아서 어디까지 해야할 지 단시간에 판단하는 게 너무 어려웠다. 그러다보니 자연스레 테스트코드 작성과정에서 불필요하게 낭비하는 시간이 많았져서 최종을 준비하면서는 TDD를 사용하지 않기로 선택했기 때문이다. 대신 처음에 기본 제공되는 테스트코드를 잘 읽고, 테스트코드에서 검증되는 예외만 우선적으로 처리하기로 했다. 

 

이때까지 연습해온 루틴을 바꾸기 보다는 소감문에 이런 나의 생각을 잘 녹여내기로 하고 TDD는 하지 않기로 했다.

 

2. 도전 과제

이번 기수는 자유롭게 미션을 설계하고 수행하도록 하는 오픈 미션이 처음 도입되었는데, 이 부분이 최종에도 반영이 된 것 같다. 나는 사실 3주차 하면서 마음에 안 들던 미션 기준이 있어서 그 부분을 생각하며 기능 확장 미션을 선택하기로 했다.

 

최종 코딩테스트 과정

기본 기능 구현

git clone하고 나서 보니까 이번에는 InputView와 OutputView가 정해져 있다는 조건이 있었다. 최종 코테 준비를 하면서 제공된 코드와 테스트 코드를 꼼꼼히 읽고 푸는 연습을 많이 해둬서 다행이라는 생각이 들었다.

처음에 askWinningLotto 메서드에서 출력되는 메시지가 문제에 제공된 메시지와 달라서 당황해서 내가 새로운 메서드를 만들어서 저 부분만 입력을 받았는데, 테스트 코드에서는 해당 메시지로 검증을 하고 있어서 계속 exception이 터지는 문제가 발생했다. 당황했지만 에러 메시지를 잘 읽고, 다시 저 메서드를 사용하도록 변경했더니 해결되었다.

 

 

OutputView를 확인하면서 반환형이 좀 복잡하다고 생각했다. 위에 있는 메서드는 List가 List<Integer>형태로 값을 저장하고 있고, 밑에는 Map<Integer, Integer>형태로 Key = 등수, Value = 해당 로또 개수로 받고 있다. 이런 부분을 먼저 파악하고 들어가니까 서비스 로직 짤 때도 할 만했던 것 같다. 

 

기본 기능 구현을 다 하고 나니 3시가 되어 있었다. 코치님이 다같이 노트북을 덮고 쉬는 시간 10분을 가지자고 하셨다. 스트레칭도 하고, 화장실도 다녀오고~ 머 이것저것 재정비의 시간을 가졌다. 이때 같은 줄에 앉아있던 분이 귤을 나눠주셔서.. 맛있게 먹었다. 그 분도 꼭 붙으셔서 다시 만날 수 있으면 좋겠다.

 

도전 기능 구현 : 사용자 편의성을 고려한 거스름돈 반환 기능

나는 화려한 코드나 고도의 기술력이 들어간 기능보다, 구현에 드는 리소스 대비 사용자 편의성이 크게 증가하는 기능이 더 중요하다고 생각한다. 프리코스 3주차 로또 미션을 수행하는 과정에서 아래의 조건을 보면서 ‘이게 왜 필요할까?’라는 의문을 가졌다.

‘왜 사용자가 구매할 수량을 계산해서 금액을 입력해야할까?’, ‘사용자가 가용 가능한 금액을 입력하고, 시스템이 금액에 맞게 구매 수량을 계산해주면 안 되는걸까?’


아쉬웠던 점을 떠올리면서 추가 기능을 설계했다. 내가 설계한 추가 기능은 '거스름돈 반환 기능' 이다. 거스름돈을 반환하게 되면 사용자가 가용 가능한 금액을 전부 넣고 시스템이 구매 수량을 계산해줄 수 있기에 사용자 편의성을 향상시킬 수 있다. 또한, 실제 환경을 고려하면 더 합리적이다.

 

자판기에서 커피를 뽑을 때 500원짜리 음료수를 뽑아야할 때 1000원권밖에 없는 경우를 떠올려 보자! 이때 500원이 아니므로 구매할 수 없다고 하면 어떨까? 돈이 있음에도 불구하고 구매하지 못하는 아이러니한 상황이 일어날 것 같다. 이런 상황을 떠올리며 700원을 입력하면 500원으로 로또 한 장을 구매하고, 거스름돈 200원을 돌려주는 형태로 기능을 구현했다.

 

소감문 작성

기능 구현을 막 끝내고 push하고 테스트 돌리니까 2/2가 떴다~ 야호!

올솔 야르

 

이제부터 1시간은 소감문 작성 시간이였다. 이번에는 소감문 작성 가이드가 나와있어서 참고해서 적었다.

 

크게 이런 흐름으로 썼다.

  1. 최종 코테 준비과정
  2. 도전 기능 설명
  3. 끝까지 지킨 원칙과 내려놓은 것
  4. 마무리하며 내가 하고 싶은 말 

3분을 남기고 다 작성했다. 짐을 싸고 나오며 같은 줄에 앉았던 분들께 '수고하셨습니다~' 가벼운 인사도 건네고 나왔다.

 

작성한 최종 코테 깃허브 링크

https://github.com/woowacourse-precourse/java-planetlotto-8/pull/102

 

[행성 로또] 이수지 미션 제출합니다. by kcnsmoothie · Pull Request #102 · woowacourse-precourse/java-planetlotto-

 

github.com

 

최종 코테를 마치며..

인생의 큰 도전을 끝낸 기분이다. 모든 과정에 최선을 다해서 후회는 없다. 오히려 엄청 후련하고 좋았다!

마치고 KTX 타고 내려오면서 기념품 구경했는데ㅋㅋ 때수건이랑 비누였다. 웃기고 귀여웠다!

최종 코테 치신 모든 분들 수고하셨습니다!

 

'우아한테크코스 8기' 카테고리의 다른 글

[우아한테크코스 8기] 1차 합격 했어요!  (1) 2025.12.30
[우아한테크코스 8기] 프리코스 오픈미션 회고  (0) 2025.12.02
[우아한테크코스 8기] 프리코스 3주차 회고  (0) 2025.11.10
[우아한테크코스 8기] 프리코스 2주차 회고  (0) 2025.10.29
[우아한테크코스 8기] 프리코스 1주차 회고  (0) 2025.10.21
'우아한테크코스 8기' 카테고리의 다른 글
  • [우아한테크코스 8기] 1차 합격 했어요!
  • [우아한테크코스 8기] 프리코스 오픈미션 회고
  • [우아한테크코스 8기] 프리코스 3주차 회고
  • [우아한테크코스 8기] 프리코스 2주차 회고
kcnsmoothie
kcnsmoothie
얼레벌레
  • kcnsmoothie
    청산가리스무디
    kcnsmoothie
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • 우아한테크코스 8기 (6)
      • 아인슈타인클래스 17기 (3)
  • 블로그 메뉴

    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    kvm
    CI/CD
    ttrpc
    JVM
    kata-container
    우아한테크코스8기
    K8S
    grpc
    Prometheus
    아인슈타인클래스
    Java
    observability
    Grafana
    docker
    우아한테크코스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
kcnsmoothie
[우아한테크코스 8기] 최종 코딩테스트 후기
상단으로

티스토리툴바