목록알고리즘/백준 - 문제풀이 (8)
공부한것들을 정리하는 블로그 입니다.
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; pu..
https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net //수 이어 쓰기1 public void bf_1748(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(bf.readLine()); long ans = 0; // 직접 계산하는 방법도 가능하지만, N이 너무 크기 때문에 실제로 수를 모두 만들면 시간초과 // ex) 999까지 그냥 구하면 => 시행횟수가 999이지만, 자릿수로 하..
https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net //카잉달력 public static void bf_6064(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.valueOf(bf.readLine()); while (t-- > 0) { String[] line = bf.read..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net import java.util.*; public class Main { //테트로미노 static int[][][] BLOCKS_14500 = { //19 4 2 {{0,0}, {0,1}, {0,2}, {0,3}} ,{{0,0}, {1,0}, {2,0}, {3,0}} ,{{0,0}, {1,0}, {0,1}, {1,1}} ,{{0,0}, {0,1}, {0,2}, {1,2}} ,{{0,0}, {1,0..
https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net static boolean[] broken = new boolean[10]; public static void bf_1107(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 이동 원하는 채널 int m = sc.nextInt(); // 고자안 채널 갯수 for (int i = 0; i < ..
https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int E = sc.nextInt() -1; int S = sc.nextInt() -1; int M = sc.nextInt() -1; fo..
https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { //사탕게임 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); char[][] a = new char[n][n]; int ans = 1; for (int i = 0; i < n; i++) { a[i] = sc.next().toCharArray(); } for (i..
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] intArr = new int[9]; int sum = 0; int highA = 0; int highB = 0; //난쟁이 9명의..