
fun main() { val n = 5 val coins = mutableListOf(3, 2, 1, 1, 9) coins.sort() var target = 1 for (i in 0.. target) break target += coins[i] } println("target = $target")} 처음에는 완전 탐색으로 접근해야하나? 라는 생각이 들었다.(물론 책 카테고리가 그리디 알고리즘이지만 내가 문제를 보고 제일 먼저 드는 생각은 완전 탐색이었다.)target이 1씩 증가하면서 최솟값을 찾아야겠다는 생각 때문에 근데 완전 탐색의 경우N개의 동전으로 만들 수 있는 모든 부분집합을 고려하면 부분집합 개수는 2^N 개N이 최대 1,000개면 최악의 ..

우선 필자가 처음에 작성한 틀린 코드를 공개한다. fun main() { var n = 5 val member = mutableListOf(1,2, 4,3,1) member.sort() var cnt = 0 while(n > 0) { if (member[n - 1] n n = 0 } } println("cnt = " + cnt)} 정리되지 않은 코드이기도 하고 로직자체도 억지로 끼워맞춘 느낌인데 공개하는 이유는여기서 필자가 착각한 부분이 '공포도가 높은 모험가'에게 집착했다는 것이다.'공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참야해야한다.' 는 문제를 읽고 '아..! 공포도 X가 큰 걸 ..

🤔 복잡도(Complexity) ✔ 알고리즘의 성능을 나타내는 척도 이름 특징 시간 복잡도 알고리즘을 위해 필요한 연산 횟수 공간 복잡도 알고리즘을 위해 필요한 메모리 양 🤔 빅오 표기법(Big-O) 가장 빠르게 증가하는 항만을 고려하는 표기법 빅오 표기법 명칭 $$O(1)$$ 상수 시간(Constant time) $$O(logN)$$ 로그 시간(Log time) $$O(N)$$ 선형 시간 $$O(NlogN)$$ 로그 선형 시간 $$O(n^2)$$ 이차 시간 $$O(n^3)$$ 삼차 시간 $$O(2^n)$$ 지수 시간

hackerrankn challenges Day22 강의 수강 도중 이진 트리(Binary Tree)에 대한 코딩이 이루어지는데 이해가 어려워 유튜브를 통해 트리 자료구조에 대한 강의를 찾아보았다. 필자는 이전에 학교 '자료구조' 수업에서 트리에 대해 학습한 적이 있으나 기억이 가물가물해 추가 공부하고 학습 내용을 포스팅한다. 필자가 수강한 강의 내용은 링크 설정해 두었으니 글자를 클릭하길 바란다. (강의 : 유튜브 '나동빈'님 이코테 '트리'편) 그럼 강의 내용을 차근차근 정리해보자. 🤔 우선 트리(Tree)란 무엇일까? 트리란 가계도와 같은 계층적인 구조를 표현할 때 사용할 수 잇는 자료구조이다. ✅ 용어 ✔ 루트 노드(root node) : 부모가 없는 최상위노드 ✔ 단말 노드(leaf node) ..
- Total
- Today
- Yesterday
- 디버깅
- 해커랭크 챌린지
- 자바
- BAEKJOON
- 22 정보처리산업기사
- 그리디
- stack
- hackerrank
- 22 정보처리 산업기사
- ORM
- 해커랭크
- 정보처리산업기사
- hackerrank challenges
- 나동빈
- LinkedList
- 정보처리 산업기사
- 해커랭크 자바 챌린지
- 소스코드
- 해커랭크 자바
- Java
- 자바의 정석
- 챌린지
- JPA
- challenges
- 백준
- 이코테
- queue
- 강의
- 정보처리산업기사 공부법
- 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |