1.계산기 문제
① 버전관리 등
emoji와 message 사용에 다소 익숙해짐
InteiiliJ에서 첫 버전 설정, 그리고 버전 세팅 전환에 익숙해짐
나중에 Gradle에서 배워야 함을 배움
② Lv1
입력 조건이 애매함 (정해진 연산자, 양수) → 잘못된 입력을 받으면 프로그램이 뻗게 설계
나머지는 평이한 while과 switch 문제
③ Lv2
패키지 분리와 관리 처음으로 해봄
전체 값을 저장하기 위한 Collection 변수를 검토하고, 가져다 쓰는 방식을 겨우 깨달음
try-catch를 제대로 처음 써 봄
NoSuchElementException도 알게 됨
그런데 설계 구조에 문제가 있다
results로 current 에 접근해서 문제가 생김 → 차후 고민
0으로 나눌 때 저장된 결과값이 없다(0이나 null 저장?
->
① 이 상태에서 최근 값 획득?
② set이라면 그냥 "없다"만 print하면 되는데
③ get이라면 무언가 반환해야 하고
그 반환에 null을 포함시킬거냐 하는 문제
문제 원인) 배열의 끝자락에서 값을 'Current Result'로 저장하기 때문
- 그러나 Current Result의 뜻을 정말 생각한다면
- 별도의 변수로 저장하는 게 나을 수도
④.Lv3
생성자 문제: static으로 results를 저장했는데 생성자에서 계속 초기화해버리는 찐빠를 냈다.
클래스와 인스턴스, 인스턴스 생성(생성자 호출)과 static 변수 변화를 유의해야 함
static으로 선언했으면 제네릭(T)을 매개변수, 지역변수 등으로 쓸 수 없다.
클래스-인스턴스 관계를 생각하면 명료
- T는 인스턴스 생성 과정에서 지정하는 것이기 때문에
- 클래스는 T로 뭔가를 처리할 수 없다!!!
또한 반복되는 과정에서 enum을 더 깊게 학습하고 사용하게 됨. 사용법을 익힘
ㄴenum을 순회해서 내용을 조회하는 것도 추가
ㄴ 그런데 switch문에서 추가하지는 못하나?
(2024-11-19)
결국 regex를 이용해 숫자 입력을 핸들링하였다.
예외처리를 흐름제어 용으로 쓰는 건 적절하지 않다는 내용을 들었기 때문. : https://playnplayer.tistory.com/38
그 과정에서 정규식을 처리하는 방식에 대해 많이 배웠다. https://playnplayer.tistory.com/40
regex문 구성은 계속 고민하고 살피다가 결국 이전 조원분이 TIL 적은 내용을 많이 참조하였다.
https://github.com/yeongbinim/TIL/tree/main
2.데일리 루틴(Java): 3진법 뒤집기 프로그래머스 문제
다른 사람의 풀이를 보니까
① String으로 저장한 다음, Integer의 ParseInt()로 다시 해설하는 게 좋다. 순회하며 charAt도 비슷한 효과를 낸다.
String으로 변환하는 과정은 순회하면서 str 값을 더할 수도 있고, StringBuilder의 toString()을 써도 좋다.
결국 직접 순회하는 것과, 주요 자료형 클래스의 매서드를 아는 것 둘 다 도움이 된다.
② pow를 굳이 쓰지 않고도 반복문 안에서 거듭 곱하는 걸 써도 도움이 된다.
③ 자료구조를 쓴다면 isEmpty() 계열 메서드 사용법에 익숙해지는 게 좋겠다.
출처: https://school.programmers.co.kr/learn/courses/30/lessons/68935
3.데일리 루틴(SQL): 루시와 엘라 찾기(WHERE IN:)
아래 글에 따로 작성해 두었다.
https://playnplayer.tistory.com/35
'(2024-10) 스파르타 내일배움캠프 - 백엔드 > TIL' 카테고리의 다른 글
(2024-11-19) TIL: HasNext()와 정규표현식 (1) | 2024.11.19 |
---|---|
(2024-11-18) TIL (1) | 2024.11.18 |
(2024-11-14) TIL (0) | 2024.11.14 |
(2024-11-13) TIL (2) | 2024.11.13 |
(2024-11-12) TIL 풀이 (1) | 2024.11.12 |