코틀린으로 알고리즘 뿌시기
백준 온라인 강의 알고리즘 기초1 , 알고리즘 기초2 에 포함되어 있는 문제를 가져옴
공부하게 된 계기
학부 수업으로 모바일 프로그래밍을 들으며 코틀린 공부를 처음 했다. 교수님이 알려주신 대로 어찌저찌 자바처럼 코드를 짜왔는데,
- 이럴 거면 자바를 쓰지 코틀린으로 코딩하는 의미가 없음
- 알고리즘을 제대로 공부한 적도 없어서 비효율적인 코드가 많이 나옴
이런 이유로, 안드로이드 개발에 주로 쓰이는 코틀린으로 알고리즘을 공부해보려 한다.
- 현재 나의 수준
- 안드로이드 앱 만들면서 쓰던 함수만 쓰고 코틀린 특징인 간결한 문법, 상속을 제대로 처리하지 못함. destruction과 같은 용어 못 알아들음
- 관련 도서 검색 결과
- 이펙티브 코틀린: 유명해서 일단 샀는데 코딩 컨벤션, 클린 코드 관련 내용이라 내가 원하는 방향의 책에 안 맞는 것 같아서 나중에 꼭! 정독하기로 약속
- 코틀린 인 액션 or 코틀린 공식 문서 정독 : 둘 중 뭘 선택해야 할지 고민이 많았는데, 안드방 고수분들께 여쭤본 결과 영어로 된 공식문서 보다 한국어가 더 이해하기 쉽다고 답변 받고 다른 책도 추천받았다.
- 아토믹 코틀린 : 추천받음. 코틀린 액션과 목차를 비교해 봤는데, 기초에 빵꾸 뚫린 나에게 수준이 맞다고 생각하여 선택함. 백준 풀면서 적용하면서 정독해보자😅
최종 계획
- 아토믹 코틀린 부시고
- 코틀린 인 액션 보고
- 이펙티브 코틀린 보기
→ 세 가지 책 읽으면서 백준 플레티넘까지 코틀린으로 풀어보기!
자료구조
예제
연습
참고
수학
예제
연습
참고
다이나믹 프로그래밍 DP
예제
- 1로 만들기
- 2×n 타일링
- 2×n 타일링 2
- 1, 2, 3 더하기
- 카드 구매하기
- 카드 구매하기 2
- 1, 2, 3 더하기 5
- 쉬운 계단 수
- 이친수
- 가장 긴 증가하는 부분 수열
- 가장 긴 증가하는 부분 수열 4
- 연속합
- 제곱수의 합
- 합분해