본문 바로가기

Problem Solving/Baekjoon1332

[백준] 11497 통나무 건너뛰기 - Greedy / Java • 문제 링크 11497번: 통나무 건너뛰기 남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이 www.acmicpc.net • 풀이 과정 첫 통나무와 마지막 통나무가 인접해 있다는 조건에 의해, [ 1, 3, 4, 6, 8 ] 의 최소 난이도의 배열을 구하자면 가장 큰 값을 중앙에 기준으로 두고, 양쪽에 점점 작게 배치하여 [ 3, 6, 8, 4, 1 ] 와 같이 구할 수 있다. 이는 입력받은 수를 정렬 후, 각 인덱스의 차가 2인 수들을 비교하여 최대값을 갱신해, 해당 값이 최소 난이도가 된다. • 풀이 코드 import java.io.BufferedReader; i.. 2023. 2. 12.
[백준] 1343 폴리오미노 - Greedy / Java • 문제 링크 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRe.. 2023. 2. 11.
[백준] 1049 기타줄 - Greedy / Java • 문제 링크 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void ma.. 2023. 2. 10.
[백준] 1789 수들의 합 - Greedy / Java • 문제 링크 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys.. 2023. 2. 9.
[백준] 5568 카드 놓기 - Data Structure / Java • 문제 링크 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashSet; import java.util.Set; public class Main { static int n, k; static boolean[] visit; static int[] arr; stat.. 2023. 2. 8.
[백준] 4358 생태학 - Data Structure / Java • 문제 링크 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Map; import java.util.TreeMap; public class Main { pub.. 2023. 2. 7.