2022-02-17 TIL (자바, 알고리즘)

|

1. 자바

Chapter 3. 람다 표현식 부분을 공부했다.

  • 람다란? - 람다의 특징(익명, 함수, 전달, 간결성), 람다 표현식 구성(파라미터 리스트, 화살표, 람다 바디)
  • 어디에, 어떻게 람다를 사용할까? - 함수형 인터페이스, 함수 디스크립터
  • 함수형 인터페이스 사용: Predicate, Consumer, Function
  • 형식 검사, 형식 추론, 제약 - 대상 형식(target type), 람다 캡쳐링(capturing lambda)
  • 메서드 참조, 생성자 참조
  • 람다 표현식을 조합할 수 있는 유용한 메서드 - Comparator 조합(revers, thenComparing), Predicate 조합(negate, and, or), Function 조합(andThen, compose)

스트림과 람다 표현식은 앞으로 실무에서도 많이 사용할 기능이므로 활용 방법과 코드에 적용하는 방법을 잘 알고 넘어가야겠다.

2. 알고리즘

자료구조와 알고리즘의 개념이 부족한 상태에서 의욕만 앞서 문제를 푸려다 보니 문제에 어느 알고리즘을 적용해야하는지, 그 알고리즘을 어떻게 구현해야하는지를 파악하지 못해 한 문제를 푸는데 시간이 오래 걸린다. 이 점을 보완하기 위해 패스트캠퍼스의 ‘한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online’ 강의를 들으며 자료구조와 알고리즘부터 다시 공부하기로 결정했다.

오늘은 OT와 자료구조와 알고리즘의 이해 , 강의 환경 준비 부분까지 수강했다.

  • 자료구조란? - 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조 (ex. 배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙)

  • 알고리즘이란? - 어떤 문제에 대해, 특정한 ‘입력’을 넣으면 원하는 ‘출력’을 얻을 수 있도록 만드는 프로그래밍

  • 어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능의 차이가 많이 남

3

2월 9일 ~ 2월 16일까지는 개인 사정으로 공부를 진행할 수 없는 상황이었다…

오늘도 짐정리를 하느라 공부를 많이 하지 못했다.. 내일도 약속이 있어 많이 공부하지 못할 것 같은데… :sob:

일주일치 공부량이 밀린만큼 이번 주말에는 더 집중해서 공부해야겠다! :fire::fire::fire:

그래도 16일에 ‘프로그래머스 클라우드 기반 백엔드 프로그래밍 데브코스’ 서류를 제출했고, 오늘 19일에 있을 코딩 테스트 관련 메일을 받았다. 코딩 테스트 문제 난이도가 높지 않다고 하니 내일 저녁과 토요일 오전에 벼락치기해서 코딩 테스트도 통과해야지!