✅ 1차 합격

이전에 싸피 불합격 통보를 받았던 터라 이게 될까? 싶은 생각이 들었는데 붙어서 정말 기뻤다. 프리코스 동안의 내 노력이 인정받는 느낌이었다.
✅ 코딩테스트 준비
1차 합격을 받자마자 바로 코딩테스트를 준비했다.
이전 기수들의 문제를 보니 4기때부터 코딩테스트 방식이 바껴 지금까지 이어져오고 있었다.
4기부터 7기까지의 프리코스 및 코딩테스트 문제를 노션에 정리해보니 중복제외 10문제가 나왔다. 앞으로 코딩테스트까지 약 2주정도의 시간이 있었기 때문에 하루에 한문제씩 풀자고 마음먹었다.

📌 문제 난이도 체감
첫 주에는 프리코스 문제를 풀었다.
프리코스 1~3주차 문제는 어렵지않게 풀어냈지만 4주차 문제가 많이 어려웠다. 그 중에서도 특히 6기의 '편의점' 문제가 어려웠던 것 같다.
5시간은 커녕 하루를 투자해도 풀어내지 못해서 멘탈이 나갔었지만, 이는 어디까지나 일주일 동안 해결하는 프리코스 문제이기 때문에 애써 정신승리하면서 넘어갔었다.
두번째 주에는 실제 코딩테스트 문제를 풀었다.
진짜 시험이라고 생각하고 시간을 재면서 풀었는데 4~6기 문제는 생각보다 많이 쉬웠던 것 같다.
대신 7기의 '출석'문제는 쉽지 않았다. 각각의 로직자체는 간단했지만 구현해야 할 사항들이 매우 많았다. 정말 시간 분배를 잘해야겠구나 생각이 들었던 문제였다.
📌 템플릿

AI를 제외한 모든 것이 가능했기 때문에 문제를 풀면서 자주 나오는 반복적인 코드들은 미리 템플릿을 만들어 놓자 생각을 했었다.
예외 메시지를 담는 Enum 클래스, 입출력을 담당하는 InputView, OutputView 클래스, 파일 입출력하는 클래스를 미리 노션에 정의해두었다.

그외에도 리드미에 문제 정리를 해야하기 때문에 관련 템플릿도 하나 만들어두었다.

✅ 코딩테스트 당일
입실은 시험 1시간 전인 12시부터 가능했다.
12시 살짝 넘어서 잠실역 주변 스타벅스에 도착하니 코딩하고 계시는 분들이 많았다. 아마 우테코 시험을 보시는 분들 같았다.
커피를 사고 시험장에 들어가니 이미 많은 분들이 와계셨다.
참고로 책상위에 놓여있는 민트색 쇼핑백은 웰컴 키트인데, 안에 떼수건이랑 떼비누가 있었다. (개발자들 좀 씻고 다니라는 소리같다...)

제공되는 간식거리를 몇개 챙겨 자리에 앉아 시험환경을 셋팅했다.
생각보다 자리가 좁아 당황하긴 했지만, 그래도 시험을 보기 힘들정도로 불편한 것은 아니었다.

⏳ 시험 시작
시험시간은 총 5시간인데 이 중 4시간만 코드를 작성할 수 있고, 나머지 1시간은 회고를 작성하는 시간이다.
사실 연습할 때 이를 모르고 5시간 동안 코드를 작성했었는데, 많이 당황스러웠다...😱
문제는 프리코스 3주차에 나왔던 '로또' 문제에서 몇가지 숫자만 바뀐 상태로 나왔다.
대신, '도전과제'라는 추가적인 미션이 있었다.
- 리팩터링: 작동은 그대로 유지하면서 코드 품질을 높이는 방향
- 기능 확장: 기본 기능 위에 새로운 기능을 추가하는 방향
이 두가지 중 하나를 골라서 자유롭게 구현하는 미션이다.
전혀 예상치 못했던 문제 방향이라 시험 초반에 조금 방황을 했던 것 같다...
사실 '로또' 기능 자체는 이미 한번씩 구현해봐서 모든 사람이 다 쉽게 구현했을 것 같고, 결국엔 합격은 도전과제에서 갈릴 것이라고 생각해 최대한 빨리 '로또' 기능을 구현 해야겠다고 마음먹었다.
먼저 구현해야할 사항을 리드미에 간단하게 정리하고 이전에 구현했던 코드들을 참고하며 기능들을 침착하게 구현해나갔다.
하지만 여기서 지금 생각해도 이해안되는 행동을 해버렸다... 바로 테스트를 하나하나 작성한 것인데, 정신차리고 보니 어느새 2시간이 지나있었다. 이대로 가다간 진짜 큰일 날 것 같아서 테스트 작성을 멈추고 기능구현에만 집중했다.
다행히 큰 오류 없이 테스트 초록불을 볼 수 있었고 곧 바로 도전과제로 넘어갔다.
도전과제
두 가지의 미션 중 '리팩터링'을 하자니, 이미 프리코스에서 코드리뷰를 거친 코드를 가지고 구현한터라 여기서 추가적인 리팩터링을 하기엔 쉽지 않을 것 같았고, '기능 확장'을 해야겠다고 생각했다.
남은 시간이 많지 않아 간단하되 의미있는 기능을 추가하는 것이 좋다고 판단했고, '수동 로또 기능'과 '당첨 금액 조회 기능'을 하기로 결정했다.
수동 로또 기능
현실에는 자동 로또 뿐만 아니라 수동 로또도 있는데, 현재 프로그램은 자동 로또 밖에 없기 때문에 수동 로또를 추가하면 좋을 것 같다고 생각했다.
로직은 매우 간단하다. 기존에는 금액만 입력하면 알아서 번호가 출력됐다면, 이건 사용자가 직접 입력하는 방식이다.
옵션을 골라주세요
1. 자동 로또 구매
2. 수동 로또 구매
3. 현재 회차 당첨금액 조회
Q. 종료
2
구입금액을 입력해 주세요.
1000
구매하고 싶은 로또 번호를 입력해주세요.
1번째 로또번호 입력>
8, 11, 13, 21, 22
2번째 로또번호 입력>
1, 3, 6, 14, 22
2개를 구매했습니다.
[8, 11, 13, 21, 22]
[1, 3, 6, 14, 22]
매우 간단하게 구현할 수 있는 기능이지만 충분히 가치가 있는 기능이라고 생각해 구현하였다.
당첨 금액 조회 기능
따로 노션에 작성해둔 파일 입출력 템플릿을 활용하면 좋을 것 같다고 생각했다.
프로그램 내에서 파일로 관리할만한 정보가 없을까 고민했고, 당첨금액을 따로 조회할 수 있으면 좋을 것 같다고 생각했다.
기존 프로그램은 구매를 해야만 당첨 금액을 알 수 있었는데, 하지만 어떤 사용자는 당첨금액을 보고 그 금액이 괜찮다는 생각이 들면, 그 때 구매하고 싶을 수도 있기 때문에 해당 수요를 충족하고자 했다. (로또를 평소에 안사서 당첨금액이 추첨 후에 나온다는 사실을 몰랐다...)
또한 파일로 해당 정보를 관리하게 되면, 추후 당첨금액이 변경되어도 자바 코드를 다시 빌드할 필요 없이 변경사항을 반영할 수 있어 편리할 것이라고 생각했다.
사용자가 '현재 회차 당첨금액 조회' 옵션을 선택하면 파일로 부터 해당 정보를 읽어 출력해주는 기능이다.
옵션을 골라주세요
1. 자동 로또 구매
2. 수동 로또 구매
3. 현재 회차 당첨금액 조회
Q. 종료
3
1등: 100,000,000
2등: 10,000,000
3등: 1,500,000
4등: 500,000
5등: 5,000
이 역시 매우 간단하게 구현할 수 있는 기능이지만, 충분히 구현할만한 가치가 있다고 생각했다.
💡 최종 합격

사실 우테코 떨어지면 앞으로 뭘 해야 할지 막막한 상황이었다.
가뜩이나 힘든 취업 시장에서 스펙도 변변치 않았기 때문에 정말 막막했었는데, 합격해서 매우 기뻤다.
어렵게 찾아온 기회인만큼 정말 열심히 해서 많은 것을 얻어가고 싶다.
'우테코 8기 > 프리코스 회고' 카테고리의 다른 글
| [프리코스] 3주차 회고 (0) | 2025.11.04 |
|---|---|
| [프리코스] 2주차 회고 (0) | 2025.10.28 |
| [프리코스] 1주차 회고 (0) | 2025.10.21 |