1. 프리코스 대비하기
우테코 6기 문제 풀어보기
우테코 프리코스 문제로 뭐가 나오는지 궁금하여서 과거의 우테코 6기때는 어떤 문제가 나왔었는지 찾아봤었다. 1주차에는 숫자 야구 게임이 나왔었다. 게임 로직 자체는 쉬워서 난이도는 쉽겠거니 생각했었다. 하지만 합격자들의 코드를 보니, 다들 리팩토링하여 객체지향적으로 코드를 짠 것을 보니 프리코스의 난이도는 과제 알고리즘의 난이도가 다가 아니라고 느껴졌다.
2. 구현 기능 고민하기
과제의 README에 들어갈 내용을 아래와 같이 만들어봤다.
구현 기능 목록
🎯 문자열 입력
✅ 구분자와 양수로 구성된 문자열을 입력받는다.
✅ 기본 구분자인 쉼표 ,
또는 콜론 :
을 구분자로 가지는 문자열이 입력된다.
"", "1,2", "1,2,3", "1,2:3"
✅ 커스텀 구분자를 입력받는다. 문자열 앞부분의 //
와 \n
사이에 위치한 문자를 커스텀 구분자로 사용한다.
"//;\n1;2;3"
‼️ 예외처리
✅ 문자열이 아무것도 없을 수도 있다. 이 경우 덧셈의 결과는 자동으로 0
이 될 것이다. 결과 : 0
✅ 커스텀 구분자 선언 시 //
와 \n
를 작성하는 규칙을 위배한경우 IllegalArgumentException
✅ 커스텀 구분자로 숫자가 들어온 경우 IllegalArgumentException
✅ 입력된 문자 중에 숫자, 구분자 외 다른 문자가 있을 경우 IllegalArgumentException
✅ 구분자와 구분자 사이에 숫자가 없을 경우 IllegalArgumentException
✅ 구분자로 시작했을 경우 IllegalArgumentException
✅ 구분자로 끝났을 경우 IllegalArgumentException
🎯 문자열 덧셈 실행
✅ 구분자를 기준으로 하나씩 숫자를 뽑아내어 덧셈해준다.
✅ 덧셈의 결과를 출력한다.
"1,2:3"
결과 : 6
‼️ 예외처리
✅ 숫자의 값이 0
일 경우(0
은 양수가 아니다) IllegalArgumentException
3. 환경 세팅 하기
이번 백엔드는 자바 21버전을 쓰도록 되어있었다.
기존에 자바 17에 인텔리제이 23.2 버전을 쓰고 있었는데 모두 업그레이드 해야만 했었다.
File > Setting > Build, Execution, Deployment > Build Tools > Gradle
해당 위치에서 사용하고 있는 자바 버전을 확인할 수 있다.
File > Project Structure > Project 이 위치에서도 버전을 확인할 수 있다.
얼추 기본 설정이 유지되긴 했지만, 콘솔에 한글이 안쳐지는 현상이 발생하였다.
콘솔에 한글이 안쳐지는 현상은 아래 방법들을 통하여 해결하였다.
- 설정에서 encoding을 UTF-8로 바꾸기
- Gradle Build and run 을 Intellij로 바꾸기
- VM option 에
-Dfile.encoding=UTF-8
,-Dconsole.encoding=UTF-8
추가하기 - edit Configurations으로 Environment variables에
-Dfile.encoding="UTF-8" -Dsun.stderr.encoding="UTF-8" -Dsun.stdout.encoding="UTF-8"
추가하기
4. 공부할 것
정규식
문자열 파싱을 위해 검증 과정을 거쳐야 하는데, 하나씩 확인해보는 방법은 너무 별로인 것 같았다. 편하게 검증하는 방법을 찾아보다 이메일 형식 검사하는데 많이 사용된다고 알려진 정규식을 사용해보는게 좋겠다고 생각했다.
정규식에 대해 좀더 찾아보니 깊이가 꽤 깊었다. 이 부분에 대해 좀 더 공부해 봐야겠다.
'우테코 프리코스 7기' 카테고리의 다른 글
1주차 회고 - 지나치게 고민하지 말고 일단 해보기 (0) | 2024.10.24 |
---|---|
5,6일차 - 과제 제출하기 (0) | 2024.10.23 |
4일차 - 리팩토링 하기 (0) | 2024.10.22 |
3일차 - 제공된 테스트 실행하기 (0) | 2024.10.21 |
2일차 - 기능 구조에 대해 고민해보기 (0) | 2024.10.21 |
댓글