분류 전체보기383 [백준] 1541번 : 잃어버린 괄호 – JAVA [자바] https://www.acmicpc.net/problem/1541 문제문제 풀이문제 해결 방법:1. '-'를 기준으로 나누기 '-' 연산자는 큰 숫자를 빼는 것이므로, 이를 기준으로 나누면 최솟값을 만들기 쉬워진다.2. 각 그룹의 숫자를 더하기 '-'를 기준으로 나눈 각 부분은 '+' 연산자로 연결된 숫자 그룹이다. 따라서, 각 그룹을 먼저 더한다. 3. 첫 번째 그룹을 시작값으로 설정하고 나머지 그룹을 빼기 첫 번째 그룹은 그대로 사용하고, 이후의 그룹들은 모두 빼주면 된다. 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { .. 2025. 2. 25. [백준] 28278번 : 스택 2 – JAVA [자바] https://www.acmicpc.net/problem/28278 문제문제 풀이문제 해결 방법:1. 스택 자료구조 활용주어진 명령어가 스택과 밀접한 연관이 있으므로 Stack 클래스를 사용하면 쉽게 구현할 수 있다.2. 조건문을 활용한 명령어 처리명령어를 하나씩 읽고 해당하는 동작을 수행한다.명령어 1 X인 경우 stack.push(X)를 수행한다.명령어 2는 stack.pop()을 수행하며, 비어 있다면 -1을 출력한다.명령어 3은 stack.size()를 출력한다.명령어 4는 stack.isEmpty()를 이용하여 출력값을 결정한다.명령어 5는 stack.peek()을 출력하며, 비어 있으면 -1을 출력한다.코드import java.io.*;import java.util.*;public class.. 2025. 2. 25. [백준] 1374번 : 강의실 – JAVA [자바] https://www.acmicpc.net/problem/1374 문제 문제 풀이문제 접근 방법:1. 수업을 정렬하여 집행 순서 정하기수업 시작 시간을 기준으로 오름차순 정렬한다.같은 시작 시간이면 종료 시간을 기준으로 정렬한다2. 우선순위 큐를 활용한 강의실 배정종료 시간이 가장 빠른 수업부터 관리하여 강의실을 재사용할 수 있는지 확인한다.종료 시간이 가장 빠른 수업을 추적하기 위해 우선순위 큐(Priority Queue, Min-Heap) 를 사용한다3. 그리디 알고리즘현재 진행 중인 강의 중 가장 빨리 끝나는 강의와 새 강의의 시작 시간을 비교한다.만약 현재 진행 중인 강의가 끝난 후 새 강의를 배정할 수 있다면, 기존 강의실을 재사용한다.그렇지 않다면 새로운 강의실을 추가해야 한다.4. 강의실 개.. 2025. 2. 21. [백준] 11000번 : 강의실 배정 – JAVA [자바] https://www.acmicpc.net/problem/11000 문제문제 풀이문제 접근 방법:1. 수업을 정렬하여 집행 순서 정하기수업 시작 시간을 기준으로 오름차순 정렬한다.같은 시작 시간이면 종료 시간을 기준으로 정렬한다2. 우선순위 큐를 활용한 강의실 배정종료 시간이 가장 빠른 수업부터 관리하여 강의실을 재사용할 수 있는지 확인한다.종료 시간이 가장 빠른 수업을 추적하기 위해 우선순위 큐(Priority Queue, Min-Heap) 를 사용한다3. 그리디 알고리즘현재 진행 중인 강의 중 가장 빨리 끝나는 강의와 새 강의의 시작 시간을 비교한다.만약 현재 진행 중인 강의가 끝난 후 새 강의를 배정할 수 있다면, 기존 강의실을 재사용한다.그렇지 않다면 새로운 강의실을 추가해야 한다.4. 강의실 개.. 2025. 2. 21. 이전 1 2 3 4 ··· 96 다음 반응형