21년 1월 12일
한 일
- Linked List
- Doubly Circular LinkedList를 구현했었던 걸 보다 간략하게 수정하였다.
- head를 sentinal node를 가리키게 하여 코드를 더 단순화 하였다.
- Single LinkedList와 Double LinkedList도 구현해 보았다
- Doubly Circular LinkedList를 구현했었던 걸 보다 간략하게 수정하였다.
- Overloading 과 Overriding에 대해 오해하고 있던게 있어서 해당 내용 정리하여 포스트 했다.
- @Override annotation이 필수인 줄 알았다.
- https://isaac56.github.io/java/2021/01/12/Diff_Overloading_Overriding.html
- 프로그래머스 H-index, 모의고사 문제를 풀었다.
- H-index는 구현보다 문제이해가 힘든 문제였다.
- 제약 조건의 input 개수가 1000이라 O(n^2)으로 풀어도 1,000,000(약 0.1초) 연산이었다.
- 저기서 더 빨리 풀어보겠다고 잔머리쓰다가 틀렸다.
- 아주 조그만 시간 아끼겠다고 틀리지 말자
- 모의고사는 레벨1짜리 매우 간단한 문제였는데, 자바로 푸니 코드가 지저분한 느낌이다.
- H-index는 구현보다 문제이해가 힘든 문제였다.
잘못한 것
잘한 것
- 오버로딩과 오버라이딩을 정확히 알게 되었다.
느낌
-
자바로 알고리즘 문제 풀까, 파이썬으로 바꿔서 연습해야 되나 고민된다.
-
자바는 답으로 제출하는 아웃풋이 주로 배열이기 때문에, 리스트를 포문돌려서 배열에 넣어주는 과정이 너무 귀찮다..
list.stream().mapToInt(i->i.intValue()).toArray(); //java8부터는 스트림을 이용하여 이렇게 바꿀수 있긴 하다.
할 일
- 코드스쿼드 미션 진행
- 프로그래머스 알고리즘 풀기
- 자바의정석 읽기