본문 바로가기
(2024-10) 스파르타 내일배움캠프 - 백엔드/TIL

(2024-11-15) TIL

by 어뫄어뫄 2024. 11. 15.

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-11-15: 데일리루틴, 루시와 엘라 찾기

오늘은 데일리 루틴 난이도가 갑자기 떨어졌다.  SQL의 WHERE문에도 IN (...) 문법이 있다는 점을 알게 되었다.SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKEFROM ANIMAL_INSWHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina',

playnplayer.tistory.com

 

 

'(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