본문 바로가기

분류 전체보기366

[Java] baekjoon_1931 : 회의실 배정 그리디 알고리즘, 정렬 회의실 배정 : Silver1 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 이 문제는 그리디 알고리즘을 사용하여 문제를 해결할 수 있다. 그리디 알고리즘은 각 단계에서 지금 당장 가장 좋은 선택을 하는 방법으로 문제를 해결하는 알고리즘이다. 회의실 배정 문제에서는 회의가 끝나는 시간을 기준으로 정렬하여 가장 빨리 끝나는 회의부터 차례대로 배정하여 최대로 회의를 배정하는 것이 최적의 해결 방법이다. 첫 번째 코드 작성 import java.io.*; import java.util.*; public class Main { private .. 2024. 2. 10.
[Java] baekjoon_1927 : 최소 힙 자료 구조, 우선순위 큐 최소 힙 : Silver2 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static BufferedWriter bw .. 2024. 2. 9.
[Java] baekjoon_1697 : 숨바꼭질 그래프 이론, 그래프 탐색, 너비 우선 탐색 숨바꼭질 : Silver1 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static Buf.. 2024. 2. 7.
[Java] baekjoon_11727 : 2×n 타일링 2 다이나믹 프로그래밍 2×n 타일링 2 : Silver3 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net ㄴ 주어진 문제는 2×n 직사각형을 1×2, 2×1, 그리고 2×2 타일로 채우는 방법의 수를 구하는 문제이다. ㄴ 2×n 타일링 문제의 심화 문제이다..! ㄴ 이를 해결하기 위해 다이나믹 프로그래밍(DP : Dynamic Programming)을 이용했다. 첫 번째 작성한 코드 import java.io.*; public class Main { private static.. 2024. 2. 7.
[Java] baekjoon_11726 : 2×n 타일링 다이나믹 프로그래밍 2×n 타일링 : Silver3 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 import java.io.*; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter.. 2024. 2. 5.
[Java] baekjoon_2606 : 바이러스 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 바이러스 : Silver3 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 풀이 import java.io.*; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static BufferedWriter bw = new Buffere.. 2024. 2. 3.