12월 2일 오늘은 6기 프리코스 1주차 문제인 야구게임을 풀어봤다.
총평을 내리자면 솔직히 이거보다 어려우면 못풀 것 같아...
하 ㅋㅋ
시간은 4시간 잡고 했는데 AI안쓰고 돌아가는 쓰레기 구현까지 2시간 57분 걸렸다
쉬워서 금방 푼건 아닌지..
📌프로젝트 개요
서로 다른 세자리 수를 입력해서 컴퓨터가 뽑는 무작위의 랜덤 수를 맞추면 게임 클리어
🔎구현 기능 목록
1. 서로 다른 세자리 수 입력
- 숫자가 3자리가 아닐 때 예외 처리
2. 입력 후 각 자리 파싱 후 리스트로 반환하기
3. 랜덤 세자리 수 생성
4. 리스트끼리 맞힌 여부 검사
- 입력리스트의 숫자가 랜덤 수에 들어있다면
- 자리가 같으면 스트라이크
- 자리가 다르면 볼
- 들어있지 않다면
- 낫싱
5. 3스트라이크가 나올 때까지 로직을 반복한다
6. 3스트라이크일 때 게임을 종료한다
- 종료시 숫자 1번을 입력하면 다시 게임 새로시작
- 숫자 2번은 게임 종료
🥊보완 해야할 점
일단 문제를 풀면서 막힌 부분을 적어 보았는데
- 리스트 추가랑 값 변경은 어떻게 하는지
- 판독기 계산이 어려움
- 리스트 인덱스 잘 모름
- number.length() != 3 왜안되는거임
- 예외를 값이 있을 때랑 없을 때랑 잘 구분하자
첫번째는 리스트를 내가 생각보다 잘 모른다
문제를 풀면서 리스트 문법 대충 add랑 반복문 밖에 모르는것 같다고 느꼈다.
리스트 문법을 강의 안듣고 대충 찾아본게 여기서 드러나는구나
리스트는 다시 꼼꼼하게 정리해야겠다
두번째 이것도 리스트를 잘 몰라서 연결되는 문제 였는데
스트라이크나 볼 낫싱 판독하는데 특히 볼을 판독하는데 시간을 많이 들었다.
세번째는 입력한 숫자를 검증하면서 생긴 문제인데
public class NumberManagement {
private final String number;
public NumberManagement(String number) {
numberValidator();
this.number = number;
}
private void numberValidator() {
if (number.length() != 3) {
throw new IllegalArgumentException("세자리가 아닙니다.");
}
}
}
나는 이 클래스는 역할을 입력한 숫자를 검증하고 파싱하는 역할을 수행하도록 만든 클래스인데
이렇게 하면 잘 돌아가는 줄 알았는데
알고보니 생성자로 초기회되지도 않은 number변수를 검증을 하니 계속 테스트가 안돌아가서;;
입력으로 들어오는 변수를 검사해야하는데 매개변수를 추가해야했다
이 문제 프리코스 초반에 했던 것 같은데 그새 까먹어서 자꾸 안되길래 애먹었다
나도 기능 목록을 상세하게 적고싶은데 어떻게 해야하는지..
다른 블로그보면 진짜 많이 적던데 막상 문제 풀때 생각이 많이 안난다..
오늘은 리스트 문법을 조금 더 공부해야 할 필요가 생긴 문제라 내일은 리스트를 조금 더보고 문제를 풀어야겠다
내일은 2주차 프리코스 문제인 자동차 경주 문제를 풀어봐야겠다
오전에는 리팩토링마저하고 리스트 문법 정리좀 하고
오후에 1시부터 4시간잡고 문제 풀어봐야겠다
갑자기 떠오른건데
근데 불과 한달 전에 문제 풀지도 못했는데 나 스스로 한 문제를 풀었다는게 성장을 한 것 같아 좀 뿌듯하다
내일도 화이팅해보자
'우아한테크코스 8기 프리코스' 카테고리의 다른 글
| [우테코 최종코테준비] 8기 프리코스 2주차 자동차경주게임 리팩토링 회고 (3) | 2025.12.08 |
|---|---|
| [우테코 최종코테준비] 6기 프리코스 1주차 야구게임 리팩토링 (0) | 2025.12.04 |
| [우테코 최종코테준비] 8기 프리코스 2주차 자동차 경주게임 (0) | 2025.12.03 |
| [우테코 최종코테준비] 5기 프리코스 온보딩 문제 1~6번 (0) | 2025.12.01 |
| 우테코 8기 최종 코테 대비 (0) | 2025.11.29 |