TIL

20220910 TIL 왜이리 잠이오는 것이냐

jiwoosmile 2022. 9. 10. 18:02


왜이리 잠이오는 것일까
잠을 충분히 잤건만
왜이리 잠이오는 것인가

https://maily.so/trendaword/posts/7eddf281

정규 과정이 쉬는 동안에는 카페인 없이 살아보고 싶어서 충분히 잔다고 잤는데도
잠이 쏟아졌다.
그래서 자의반 타의반 조금 낮잠을 잤는데 매우 효과가 좋았다.
앞으로도 피곤하면 점심시간에는 잠이 잘 오는 노래를 틀어두고 좀 자면 좋을 것 같다.


그리고 주말에도 하나씩 푸는 게 감을 유지하는 데 좋을 것 같아서 오랜만에 프로그래머스 코딩문제를 풀어봤다.
오늘은 레벨1 중 가장 정답률이 낮은 것을 풀어봤다.
stream을 쓰면 코드가 더 깔끔해질 것 같지만 오늘은 일단 푼 것에 만족한다.
다음에 또 비슷한 방법이 필요하면 stream의 메소드들을 한 번 정주행하자.

+
아샬님 강의를 보다가 어제 액션플랜대로 예상대로 돌아가지 않는 현상을 발견해서 내부 원리를 확인해보았다.
자바에서 그냥 배열은 equals를 하면 주소값을 비교한다. (객체가 같은지 비교한다. 즉 ==를 사용한다.)
따라서 동일한 배열이 아니면 내부 값이 동일해도 equals를 하면 false가 나온다.
(String의 경우 ==와 equals가 서로 다른 결과를 도출하는 것은 String 클래스에서는 equals가 오버라이딩(재정의) 되어 있기 때문이다.)

그런데 List 타입은 equals메소드를 쓰면 두 객체가 동일한 객체가 아니어도 같은 내용물을 담고 있으면 true를 도출한다.
List.equals()는 배열의 길이가 같은지, 그리고 배열의 원소마다 element.equals()를 시행해서 true인지 확인한다.
따라서 두 List를 비교하는 방식을 바꿔주고 싶다면 그 리스트의 element클래스에 가서 equals()를 overriding해주면 된다.