본문 바로가기

알고리즘/백준 (JAVA)

(12)
[알고리즘] 백준 14719 빗물 / 자바 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 나름의 규칙성(?)을 찾아서 map을 모두 탐색 하면서 계산했다. map에 블록을 1로 저장해놓고, 행을 차례대로 탐색했다. 여기서 블록으로 저장된 1과 빈공간 0이 연속되고 + 블록을 다시 만날 때까지 while문을 돌았을 때, 빗물은 고일 수 있다. 블록에서 시작해 블록을 다시 만나는 그 사이의 0 개수가 빗물의 양이다. 벽을 만나지 못하고 W 범위를 넘어가면 더하지 않고 넘..
[알고리즘] 백준 21608 상어 초등학교 / 자바 https://www.acmicpc.net/problem/21608 import java.util.*; import java.io.*; public class Main_상어초등학교 { static int N, map[][], empty[][], num[], like[][]; static ArrayList list; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextTo..
[알고리즘] 백준 17144 미세먼지 안녕! / 자바 https://www.acmicpc.net/problem/17144 import java.util.*; import java.io.*; public class Main_미세먼지안녕 { static int R, C, T, map[][]; static int[] dx1 = {-1, 0, 1, 0}, dy1 = {0, 1, 0, -1}; //반시계방향 이동 static int[] dx2 = {1, 0, -1, 0}, dy2 = {0, 1, 0, -1}; //시계방향 이동 static ArrayList airCleaner; //공기청정기 x좌표 static ArrayList loc; //먼지 정보 리스트 public static void main(String[] args) throws IOException { ..
백준 9996 한국이 그리울 땐 서버에 접속하지 / 자바 https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net import java.io.*; public class Main_한국이그리울땐 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt..
백준 2606 바이러스 / java 자바 www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net import java.util.Scanner; public class Main { static int[][] map; static boolean[] ck; static int N, M; static void sol(int com) { ck[com] = true; for (int i = 0; i < N; i++) { if (map[com][i] == 1 && !ck[i]) sol(i); } } public static..
백준 2667 단지번호 붙이기 / java 자바 www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net import java.util.*; import java.io.*; public class Main { static char[][] map; static boolean[][] ck; static Queue q; static ArrayList homeCnt = new ArrayList(); static int N, cnt; static int[] dx = {0, -1, 0, 1}; static int[] dy = ..
백준 1012 유기농 배추 / java 자바 www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import java.util.*; public class Main { static int[][] map; static boolean[][] ck; static Queue q; static int N, M, K; static int[] dx = {0, -1, 0, 1}; static int[] dy = {-1, 0, 1, 0}; static void bfs(int x, int y) { q.add(new int[]{x, y}..
백준 3109 빵집 / java 자바 www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net import java.util.*; import java.io.*; public class Main_빵집 { static int R, C, result; static boolean tf; static char[][] map; static boolean[][] ck; public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..