백준
백준 1431번 시리얼 번호 [ Java ]
1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루 www.acmicpc.net java8의 스트림을 이용하여 풀었습니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); ..
백준 10825번 국영수 [ Java ]
10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.pa..
백준 10813번 공 바꾸기 [ Java ]
10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[] num = new int[N]; for (int i=1; i0){ int n1 = sc.nextInt()-1; int n2 = sc.nextInt()-1; int temp..
백준 10819번 차이를 최대로 [ Java ]
10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 백트레킹을 이용하여 풀었습니다. import java.util.*; public class Main { static int max = 0; static int n; static int[] arr; static int[] newArr; static boolean[] visited; public static void main(String[] args){ Scanner sc = new Scanner(System.in); n = sc.nextInt(); arr = new int[n];..
백준 13913번 숨바꼭질4 [ Java ]
13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 기본 BFS 코드에서 방문배열 말고 parent 배열을 추가해주었습니다. import java.util.*; public class Main { public static void main(String[] args){ Queue Q = new LinkedList(); Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int[] dist =..
백준 13549번 숨바꼭질 3 [ Java ]
13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net BFS로 풀었습니다. 가중치가 동일하지 않은 정점을 이동하기 때문에 Q에 넣는 순서가 2배수 -1 +1로 이동하지 않으면 틀리는 문제였습니다. 아직 이러한 유형을 완벽하게 이해하진 못해서 공부가 더 필요할 것 같습니다. import java.util.*; public class Main { public static void main(String[] args){ Queue Q = new LinkedList(); Scanner sc ..
백준 6593번 상범 빌딩 [ Java ]
6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int L, R, C; static int[] dx = new int[]{1, 0, 0, -1, 0, 0}; static int[] dy = new int[]{0, 1, 0, 0, -1, 0}; static int[] dz = new int[]{0, 0, 1, 0, 0, -1}; static String[][][] building; static Queu..
백준 2573번 빙산 [ Java ]
2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 기존에 BFS 기본 코드에서 새로운 melt라는 새로운 배열을 추가해 빙산의 영역기준으로 네 방향에 값들이 0보다 작거나 같으면 이후에 빼주는 코드를 작성했습니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new Input..
백준 5014번 스타트링크 [ Java ]
5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); Queue Q = new Linke..
백준 2468번 안전 영역 [ Java ]
2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 비가 안오는 경우의 반례를 주의해야 합니다 2 11 11 answer : 1 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] dx = new int[]{1, 0, -1 ..