[JAVA][Baekjoon] 1715번 카드 정렬하기🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1715 📌 접근 방식이 문제는 우선순위 큐(Priority Queue)를 활용한 그리디 알고리즘을 적용해야 하는 문제! 🎯1️⃣ 최소 비교를 위해 가장 작은 두 카드 묶음을 계속 합치는 것이 핵심이다. 가장 작은 두 묶음을 먼저 합쳐야 이후의 비교 횟수를 최소화할 수 있다.2️⃣ 카드 묶음을 최소 힙(Min Heap)에 저장하면, 가장 작은 두 값을 쉽게 추출할 수 있다. 힙에서 두 묶음을 꺼내 합치고, 합친 묶음을 다시 힙에 넣는 과정을 반복한다.3️⃣ 이 과정을 카드 묶음이 하나만 남을 때까지 반복한다. 🎉 [알고리즘] 그리디 알고리즘(Greedy Algorithm)📌  그리디 알고리즘이란?그리디 알고리즘(탐욕 알고리즘)은 문제를 해결..
[JAVA][Baekjoon] 11047번 동전 0
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/11047 📌 접근 방식1️⃣ 탐욕적 선택 속성가장 큰 동전부터 최대한 사용하면, 남은 금액을 최소화할 수 있.동전의 가치가 오름차순이며, 각 동전은 이전 동전의 배수이므로 탐욕적 선택이 최적해를 보장한다.2️⃣ 문제 풀이 전략동전 배열을 내림차순으로 탐색하며, 현재 동전으로 만들 수 있는 최대 개수를 구함남은 금액을 업데이트하며 반복 [알고리즘] 그리디 알고리즘(Greedy Algorithm)📌  그리디 알고리즘이란?그리디 알고리즘(탐욕 알고리즘)은 문제를 해결하는 과정에서 현재 상황에서 가장 최선이라고 생각되는 선택을 반복적으로 하여 최적의 해를 구하려고 하는 알고리nyeroni.tistory.com  ✅ PASS CODEimport jav..
[JAVA][Baekjoon] 1300번 K번째 수 🌟🌟🌟🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1300 📌 접근 방식처음엔 이걸 이진 탐색으로 풀 생각조차 하지 못했다.. 전혀 이 문제를 보고 이진 탐색을 떠올릴 수 없었다...배열 B의 크기가 매우 커지기 때문에 이 배열을 직접 정렬하고 k번째 값을 찾는 방법으로 구현하면 시간 초과가 날 수 있다.➡️ 이진 탐색을 활용하여 k번째 작은 값을 찾는 방법을 사용해야 함!배열 A의 원소 : A[i][j]=i×j 형태배열 B는 이 값을 오름차순으로 정렬한 배열주어진 k번째 작은 값을 구하는 과정에서, 값의 범위는 1부터 N^2까지이므로 이진 탐색을 사용하여 범위 내에서 k번째 원소를 찾을 수 있습니다.이진 탐색을 적용한 방법:배열 A에서 가능한 값의 범위는 1≤i×j≤N^2중간값을 기준으로 그 ..
[JAVA][Baekjoon] 2343번 기타 레슨 🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/2343📌 접근 방식이 문제는 주어진 강의들을 최소한의 블루레이 크기로 M개의 블루레이에 나누어 담는 문제이다.중요한 점은 블루레이에 담는 강의의 순서가 바뀌면 안 된다는 것!!이 문제를 해결하기 위해서는 이진 탐색을 사용하여 최소 가능한 블루레이 크기를 찾을 수 있었다. 1️⃣ 블루레이의 최소 크기블루레이에 강의들을 담을 때, 최소 크기는 가장 긴 강의가 될 수밖에 없다➡️ 블루레이에는 강의가 순서대로 들어가야 하기 때문에, 그 강의보다 작은 크기의 블루레이는 하나의 강의도 담을 수 없기 때문 2️⃣ 블루레이의 최대 크기최대 크기는 모든 강의를 하나의 블루레이에 담았을 때의 크기 즉, 모든 강의의 총 합 3️⃣ 이진 탐색을 활용이진 탐색을 통해..