Shiny Sky Blue Star

전체 글 300

JAVA 백준 9465 스티커 (DP)

https://www.acmicpc.net/problem/9465 문제첫째 줄에 테스트 케이스의 개수 T가 입력된다.각 테스트 케이스의 첫째 줄에는 N ( 1 ) 이 입력된다.다음 두 줄에는 N개의 정수( 0 )가 공백으로 구분되어 입력된다.각 정수는 그 위치에 해당하는 스티커의 점수이다.스티커를 2n개 구매할 때, 이 스티커는 2행 n열로 배치된다. 스티커 한 장을 떼면 그 스티커와 변을 공유하는 스티커는 찢어져서 사용할 수 없다. (상하좌우) 모든 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어낸다. 뗄 수 있는 스티커 점수의 최댓값을 출력하라. 정답 코드import java.io.BufferedReader;import java.io.IOException;import ja..

JAVA 백준 2138 전구와 스위치 (그리디)

https://www.acmicpc.net/problem/2138 문제첫째 줄에 전구의 수 자연수 N ( 2 )이 입력된다.둘째 줄에 전구들의 현재 상태를 나타내는 숫자 N개가 공백 없이 주어진다.셋째 줄에 만들고자 하는 전구들의 상태를 나타내는 숫자 N개가 공백 없이 주어진다.0은 켜져 있는 상태, 1은 꺼져 있는 상태를 의미한다. i (1 1번 스위치를 눌렀을 경우에는 1, 2번 전구의 상태가 바뀌고, N번 스위치를 눌렀을 경우에는 N - 1, N번 전구의 상태가 바뀐다. 현재 상태에서 만들고자 하는 상태로 전구들의 상태를 변경할 때 그 상태를 만들기 위해 스위치를 최소 몇 번 누르면 되는지 출력하라. 정답 코드import java.io.BufferedReader;import java.i..

JAVA 백준 1092 배 (그리디)

https://www.acmicpc.net/problem/1092 문제첫째 줄에 크레인의 수 N ( 1 )이 입력된다.둘째 줄에 각 크레인의 무게 제한 (1 셋째 줄에 박수의 수 M ( 1 )이 입력된다.넷째 줄에는 각 박스의 무게 (1 각 크레인은 1분에 박스를 하나씩 실을 수 있고 모든 크레인은 동시에 움직인다.무게 제한보다 무거운 박스는 크레인으로 움직일 수 없다.모든 박스를 배로 옮기는 데에 드는 시간의 최솟값을 출력하라. 저번에 풀었던 문제 이어서https://gamja00.tistory.com/84 정답 코드 (수정 필요)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;i..

JAVA 백준 9465 스티커 (DP)

https://www.acmicpc.net/problem/9465 문제첫째 줄에 테스트 케이스의 개수 T가 입력된다.각 테스트 케이스의 첫째 줄에는 N ( 1 ) 이 입력된다.다음 두 줄에는 N개의 정수( 0 )가 공백으로 구분되어 입력된다.각 정수는 그 위치에 해당하는 스티커의 점수이다.스티커를 2n개 구매할 때, 이 스티커는 2행 n열로 배치된다. 스티커 한 장을 떼면 그 스티커와 변을 공유하는 스티커는 찢어져서 사용할 수 없다. (상하좌우) 모든 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어낸다. 뗄 수 있는 스티커 점수의 최댓값을 출력하라. 정답 코드 import java.io.BufferedReader;import java.io.IOException;import ..

JAVA 백준 10026 적록색약 (DFS)

https://www.acmicpc.net/problem/10026 문제첫째 줄에 N ( 1 그림의 크기는 N * N이다.둘째 줄부터 N개의 줄에 공백없이 N개씩 색깔이 입력되며 그림이 그려진다.그림의 색은 R, G, B 세 가지이다.적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못하므로 적록색약이 보는 그림은 아닌 사람이 보는 것과 다를 수 있다.그림은 몇 개의 구역으로 나눠지며 구역은 같은 색상으로 이루어진다. 또한, 같은 색상히 상하좌우로 인접한 경우 두 글자는 같은 구역에 속한다. (적록색약이 색상의 차이를 거의 느끼지 못하는 경우 둘을 같은 색상으로 한다.)적록색약이 아닌 사람이 봤을 때의 구역의 개수와 적록색약인 사람이 봤을 때의 구역의 개수를 공백으로 구분하여 출력한다. 정답 코드..

JAVA 백준 16953 A→B (BFS)

https://www.acmicpc.net/problem/16953 문제첫째 줄에 정수 A와 B ( 1 정수 A를 B로 바꾸려고 할 때 2를 곱하거나 1을 수의 가장 오른쪽에 추가하는 두 가지 연산을 이용하여 A를 B로 만든다.A를 B로 바꾸는 데에 필요한 연산의 최솟값을 출력하라. 정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static long result = 0; public static void bfs(long A, long B) { Queue queue = ne..

JAVA 백준 7569 토마토 (BFS)

https://www.acmicpc.net/problem/7569 문제첫째 줄에 상자의 크기 M과 N ( 2 2 ( 1 )가 입력된다.둘째 줄부터는 가장 밑의 상자부터 가장 위의 상자까지에 저장된 토마토들의 정보가 입력된다.둘째 줄부터 N개의 줄에 M개씩 공백으로 구분되어 상자 하나가 입력되는데 이 입력이 총 H번 발생한다는 말이다.정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마토가 들어있지 않은 칸이다.이 때 토마토들은 익은 토마토(1)을 기준으로 인접한 토마토 (상하좌우, 위아래(쌓아진 박스))에 영향을 주어 익지 않은 토마토(0)를 익게한다.토마토가 모두 익을 때까지 최소 며칠이 걸리는지 출력하라.저장될 때부터 모든 토마토가 익은 상태라면 0을 출력하고, 토마토가 모두 ..

JAVA 백준 14940 쉬운 최단거리 (BFS)

https://www.acmicpc.net/problem/14940 문제첫째 줄에 지도의 크기 N과 M ( 2 2 ) 이 입력된다.둘째 줄부터 N개의 줄에 M개의 숫자가 공백으로 구분되어 입력된다.0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이다. 지도의 입력에서 목표지점은 반드시 한 개이다.모든 지점에 대해서 해당 지점에서 목표지점까지의 거리를 출력하라. 정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;class..

JAVA 백준 17219 비밀번호 찾기 (집합과 맵)

https://www.acmicpc.net/problem/17219 문제첫째 줄에 저장된 사이트 주소의 수 N (1 (1 둘째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번호가 공백으로 구분되어 입력된다.사이트 주소 (1 는 알파벳 소문자, 대문자, 대시, 마침표로 이루어져 있고 중복되지 않는다.비밀번호 (1 는 알파벳 대문자로만 이루어져 있다.N+2번째 줄부터 M개의 줄에 걸쳐 비밀번호를 찾으려는 사이트의 주소가 각 줄에 입력된다. 반드시 이미 저장된 사이트의 주소가 입력됨. 정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashM..

JAVA 백준 17225 세훈이의 선물가게 (정렬)

https://www.acmicpc.net/problem/17225 문제첫째 줄에 상민이가 선물 하나를 포장하는 데 걸리는 시간 A, 지수가 선물 하나를 포장하는 데 걸리는 시간 B, 어제 세훈이 가게의 손님 수 N ( 1 )이 입력된다.이후 N개의 줄에 걸쳐 1번부터 N번 손님의 주문 시각 Ti ( 1 ), 선택한 포장지의 색깔 Ci ( Ci = "B" | "R" ), 주문한 선물의 개수 Mi ( 1 )가 주어진다.Ti는 가게 오픈 후 손님이 Ti초 후에 주문했음을 뜻한다. Ci는 포장지의 색깔을 의미하는 알파벳을 B는 파란색, R은 빨간색이다.첫 번째 줄에 상민이가 포장한 선물의 개수를 출력하고, 두 번째 줄에 상민이가 포장한 선물들의 번호를 오름차순으로 공백으로 구분하여 출력한다.세 번째 줄에..