[JAVA][Baekjoon] 1541번 잃어버린 괄호 🌟🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1541📌 접근 방식🔎 문제 요약 : 수식에 괄호를 적절히 추가해 식의 값을 최소로 만드는 방법을 찾는 문제! 😊 1️⃣ '-' 기준으로 나누기"-"를 기준으로 수식을 분리이때, "-" 이전의 부분은 더해지고, 이후의 부분들은 큰 덩어리로 묶여 모두 빼야 함2️⃣ '+'로 묶인 숫자들의 합을 구하기덩어리를 '+'로 나누어 각 부분의 합을 계산3️⃣ 첫 번째 덩어리는 그대로 더하고, 나머지는 모두 빼줍니다. ✅ PASS CODEimport java.io.*;import java.util.Scanner;public class Main { public static void main(String[] args) throws IOException ..
[JAVA][Baekjoon] 1931번 회의실 배정 🌟🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1931📌 접근 방식1️⃣ 회의실에 최대한 많은 회의를 배정하려면 어떤 기준을 세워야 할까?회의가 겹치지 않게 하려면 현재 회의가 끝난 후에 다음 회의가 시작해야 함따라서, 회의를 배정할 때 현재 시점에서 가장 빨리 끝나는 회의를 선택하면 다음 회의를 시작할 가능성이 높아짐→ 이를 위해 회의 종료 시간을 기준으로 오름차순 정렬2️⃣ 정렬 기준을 어떻게 설정해야 할까?기본 정렬 기준: 회의의 종료 시간이 빠른 순서→ 종료 시간이 빠르면 이후 회의를 배정할 가능성이 높아지기 때문보조 정렬 기준: 종료 시간이 같다면 시작 시간이 빠른 순서→ 종료 시간이 같은 회의 중에서도 시작 시간이 빠른 회의를 먼저 배정하면 겹치지 않는 회의의 개수를 최대화할 수 ..
[JAVA][Baekjoon] 1744번 수 묶기 🌟🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1744📌 접근 방식주어진 수열에서 합을 최대화하기 위해 단순히 더하는 대신, 수를 적절히 묶어서 곱하거나 더하는 방식을 사용해야 함 1️⃣ 양수와 음수를 분리양수 중 1보다 큰 수는 곱할수록 값이 커지므로 큰 수들끼리 묶어야 한다.1은 곱하기보다 더하기가 유리하므로 묶지 않고 따로 더한다.2️⃣ 음수와 0 처리음수는 절댓값이 큰 수들끼리 묶어서 곱하면 양수가 됨0은 음수와 묶어서 0으로 만들 수 있으므로 활용3️⃣ 우선순위 큐(Priority Queue) 활용양수와 음수를 각각 정렬된 형태로 저장하고, 묶을 때 효율적으로 처리큐를 사용해 큰 양수, 작은 음수를 빠르게 꺼내며 계산함 [알고리즘] 그리디 알고리즘(Greedy Algorithm)?..
[JAVA][Baekjoon] 1715번 카드 정렬하기🌟🌟
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/1715 📌 접근 방식이 문제는 우선순위 큐(Priority Queue)를 활용한 그리디 알고리즘을 적용해야 하는 문제! 🎯1️⃣ 최소 비교를 위해 가장 작은 두 카드 묶음을 계속 합치는 것이 핵심이다. 가장 작은 두 묶음을 먼저 합쳐야 이후의 비교 횟수를 최소화할 수 있다.2️⃣ 카드 묶음을 최소 힙(Min Heap)에 저장하면, 가장 작은 두 값을 쉽게 추출할 수 있다. 힙에서 두 묶음을 꺼내 합치고, 합친 묶음을 다시 힙에 넣는 과정을 반복한다.3️⃣ 이 과정을 카드 묶음이 하나만 남을 때까지 반복한다. 🎉 [알고리즘] 그리디 알고리즘(Greedy Algorithm)📌  그리디 알고리즘이란?그리디 알고리즘(탐욕 알고리즘)은 문제를 해결..