🎯 주제 우아한테크코스 6기의 최종 코딩테스트 미션인 온콜이다. 비상 근무를 배정할 월과 요일을 입력하고 평일 근무자와 휴일(법정 공휴일, 주말) 근무자들을 모두 입력받으면 순번대로 근무자를 배치해주는 미션이다. 최종 코딩 테스트에서는 5시간이라는 시간 제한으로 인해 완벽하게 기능을 구현하지 못했으나, 부족했던 부분과 개선할 수 있는 부분들을 다시 고민하고 리팩토링하려고 한다. 🤔 해결하지 못한 부분 📝 기능 요구 사항 평일이면서 법정공휴일의 경우에만 휴일을 표기를 해야 한다. 평일이면서 법정공휴일의 경우에만 요일 뒤에 (휴일) 표기를 해야 한다. 최종 코딩 테스트 때 해당 요구 사항을 꼼꼼하게 파악하지 못한 채 법정공휴일의 경우에만 (휴일)을 표기하도록 로직을 작성했었다. const HOLIDAYS =..
🎯 주제 벌써 마지막 미션인 크리스마스 프로모션이다. 이번 미션은 이전과는 달리 많은 요구사항이 있어서 미션을 이해하는 데에 시간이 많이 소요되었다. 주문한 메뉴의 개수와 방문 날짜에 따라 할인과 혜택이 달라지기 때문에 이러한 기능들을 효과적으로 설계할 수 있는 방법에 대해 고민해보았다. 또한, 이번 미션에서는 제출 방식이 다소 변경되었다. 이제는 비공개 저장소를 통해 미션을 진행하며, 기간 내에는 다른 사람들의 코드를 확인할 수 없도록 변경되었다. 이번 미션의 목표는 이전의 로또 미션과 마찬가지로 클래스(객체)를 분리하는 연습이었다. 도메인 로직을 적절하게 분리하여 책임과 역할에 맞게 구현하는 것이 이번 미션의 핵심이라고 생각한다. 📄 기능 목록 작성하기 # 📄 기능 목록 - 입력 기능 - [ ] 예상..
🎯 주제 3주차 미션은 로또 문제였다. 구매 금액에 따른 로또 번호를 생성하고, 당첨 번호와 보너스 번호를 사용해 당첨 결과와 수익률을 출력하는 것이 목표였다. 또한, 이번 미션의 주요 학습 목표는 클래스(객체) 분리와 도메인 로직에 대한 단위 테스트 작성이었다. Jest를 활용한 테스트 코드 작성에 아직 익숙하지 않지만, 이번 미션을 통해 단위 테스트의 중요성과 장점을 체계적으로 이해하고자 한다. 👨🏻💻 공들인 부분 📄 기능 목록 작성하기 # 📄 기능 목록 - 입력 기능 - [ ] 구입 금액 입력받는 기능 - [ ] 당첨 번호를 입력받는 기능 - [ ] 보너스 번호를 입력받는 기능 - 출력 기능 - [ ] 1,000원 단위로 로또 수량 및 번호를 오름차순으로 출력하는 기능 - [ ] 당첨 내역을 출력..
🎯 주제 2주차 미션은 자동차 경주 미션이었다. 1주차 미션에서 배운 내용과 코드리뷰를 토대로 이번 미션에 적용하려고하니 기대가 샘솟았다. 요구사항을 살펴본 바로는 Jest를 활용해 테스트 코드를 작성해야 할 것 같다. 이번에는 테스트 코드를 어떻게 작성해야 하는지에 대해 더욱 심층적으로 학습하고 적용해보려 한다. 👨🏻💻 공들인 부분 📄 기능 목록 작성하기 저번 미션을 통해 기능 목록의 중요성을 인지하게 되면서 이번 미션에서도 구현을 시작하기 전에 기능 목록을 작성하였다. 저번 미션에서처럼 입력, 출력, 핵심 기능을 기준으로 나누었고 추가로 입력에 대한 예외 상황도 고려하여 작성하였다. # 기능 목록 - 입력 기능 [ ] 자동차 이름을 입력받는 기능 [ ] 시도할 횟수를 입력받는 기능 - 출력 기능 [..
💻 주제 드디어 프리코스 1주차가 시작되었다. 1주차는 숫자 야구 미션을 받았다. 요구 사항이 많아서 약간 걱정이 되었지만 앞으로의 성장에 있어 큰 도움이 될 거라고 생각되어 즐거운 마음으로 구현을 시작하게 되었다. 🤯 시행착오 📄 기능 목록 작성 평소 코딩할 때 손부터 움직이는 버릇이 있다. 처음 부여된 요구사항을 본 순간 어떻게 기능 목록을 작성해야 할지 갈피를 잡지 못했다. 어떻게 하면 효율적으로 접근하여 상세하게 목록화할 수 있는지 고민해보았다. 그러나 고민할수록 정답이 없다는 것을 깨달았다. 따라서 일단 작성해보기로 결정하고 어떠한 기준으로 세분화하는 것이 좋을지 구상해보았다. 기능 목록에서는 요구사항에서 주어진 프로그램의 입력과 출력, 그리고 핵심 기능으로 구성하였다. 예외 상황에서는 더 많은..