https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net import java.util.Scanner; import java.util.Stack; // 도키도키 간식드리미 public class _12789 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Stack tempLine = new Stack(); int nu..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; // 미로 탐색 public class _2178 { public static int[] dx = {1, -1, 0, 0}; public static int[] dy = {0, 0, 1, -1}; public static boolean[][] visit; public static void ..
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net ~~ 1 ~~ import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; // 섬의 개수 public class _4963 { public static int[] dx = {1, -1, 0, 0, 1, 1, -1, -1}; public static int[] dy = {0, 0, 1, -1, 1, -1, -1,..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net ~~ 1 ~~ import java.util.Arrays; import java.util.Scanner; // 단지번호붙이기 public class _2667 { public static boolean[][] visit; public static int[] ans = new int[25 * 25]; public static int[] dx = {0, 0, 1, -1}; public static in..
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net ~~ 1 ~~ import java.util.Scanner; // 연결 요소의 개수 public class _11724 { public static boolean[] visit; // 1부터 n까지의 정점 중 방문하지 않은 노드를 시작노드로 설정 및 탐색 public static int solution(boolean[][] graph..
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.util.LinkedList; import java.util.Queue; import java.util.Scanner; // DFS와 BFS public class _1260 { public static boolean[] visit; public static Queue queue = new LinkedList(); public static..
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.*; // N과 M (1) public class _15649 { public static boolean[] visit; public static StringBuilder ans = new StringBuilder(); public static void main(String[] args) throws IOException { BufferedReader br = new ..
https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net import java.io.*; // 날짜 계산 public class _1476 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new O..
https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net import java.io.*; // 카드 구매하기 public class _11052 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new..
https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net import java.io.*; // 사탕 게임 public class _3085 { public static int max = 1; public static void check(char[][] board, int n) { int cnt = 1; // 가로 방향으로 확인 for (int i = 0; i < n; i++) { cnt = 1; for (int j = 0; j < n - 1; j++) { // 같은 사탕이 이어지는 경우 cnt 증가 if (board[i][j] == board[i][j + 1]) { cn..