백준 2828 사과 담기 게임(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2828 풀이과정 바구니의 범위를 이용해서 풀이했다. 사과가 바구니보다 오른쪽에 있으면 바구니를 오른쪽으로 이동(++)시키고, 왼쪽에 있으면 바구니를 왼쪽으로 이동(--)시킨다. 정답코드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)); BufferedWriter bw = new BufferedWriter(new OutputS..
백준 1992 쿼드트리(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/1992 풀이과정위 사진처럼 압축하는 문제이다. 먼저 압축이 가능한지 판단하는 함수를 정의하고, 재귀를 통해서 문제를 해결했다. 정답코드import java.io.*;import java.util.*;public class Main { static int[][] board; static int N; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..
백준 2583 영역 구하기(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2583 풀이과정 직사각형 내부를 1로 표시해서 빈 공간을 DFS로 탐색해서 풀이했다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int[][] board; static boolean[][] visited; static int N, M, K; static int area = 1; static List list = new ArrayList(); public static void main(String[] ar..
백준 2468 안전 영역(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2468 풀이과정 문제에서 많은 비의 조건이 명확하지 않다. 이 문제에서 구해야 할 많은 비는 높이가 1인 지역부터 입력받은 높이 중 가장 높은 곳 까지이다. DFS를 이용해서 풀이했다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int[][] board; static boolean[][] visited; static int N; static int maxHeight = 0; static int cnt = 0;..
백준 1012 유기농 배추(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/1012 풀이과정 DFS나 BFS로 풀이한다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int[][] board; static boolean[][] visited; static int N, M, K; static int result = 0; public static void main(String[] args) throws IOException { BufferedReader br = new Buff..
백준 2178 미로 탐색(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2178 풀이과정 최단거리이므로 BFS를 이용해서 풀이한다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int[][] board; static boolean[][] visited; static int N, M; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS..
백준 4375 1(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/4375 풀이과정 number를 계산할 때 단순하게 number = number * 10 + 1 을 한다면 시간초과가 나게 된다. 따라서 모듈러 연산을 수행해야 한다. (a * b) % c = (a % c * b % c) % c 와 같다는 점을 이용한다. 111 % 3 = (11 * 10 + 1) % 3 = (11 % 3 * 10 + 1) % 3 = 21 % 3 = 0 정답코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new..
백준 3986 좋은 단어(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/3986 풀이과정스택을 이용해서 풀이한다. 정답코드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)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); ..