[BOJ] 백준 9095번 : 1, 2, 3 더하기 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/9095import java.io.*;public class Main { public static int[] memo; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); // 테스트케이스 개수 입력 for (int i = 0; i 메모이제이션 (Memoization)메모리에 저장한다는 뜻.DP를 구현할 때 중복 계산을 방지하기 위해, 계산 결..
[BOJ] 백준 1181번 : 단어 정렬 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/1181import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 중복을 제거하고 저장하기 위해 Set 선언 Set strSet = new HashSet(); for (int i = 0; i strList = new Array..
[BOJ] 백준 14226번 : 이모티콘 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/14226import java.util.*;public class Main { static boolean[][] visited; // 방문 여부 배열 선언 static int S; // 목표 이모티콘 개수 public static void main(String[] args) { Scanner sc = new Scanner(System.in); S = sc.nextInt(); // 목표 이모티콘 개수 visited = new boolean[2001][2001]; // 최대 화면, 클립보드 개수는 2000까지 가능 System.out.println(bfs()); // BFS 실행 및 결..
[BOJ] 백준 2468번 : 안전 영역 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/2468문제 접근 방식해당 문제는 비가 올 때, 물에 잠기지 않는 영역을 찾는 문제.비의 높이에 따라 안전 영역의 개수를 계산하고, 그 중 최대값을 출력.import java.io.*;import java.util.*;public class Main { static int N; // NxN 2차원 배열 크기 (2 queue = new LinkedList(); static int[] dx = { 0, 1, 0, -1 }; // x축 탐색 방향 static int[] dy = { 1, 0, -1, 0 }; // y축 탐색 방향 static int maxHeight = 0; // 지도에서 가장 높은 지역의 높이 static i..
[BOJ] 백준 7562번 : 나이트의 이동 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/7562import java.io.*;import java.util.*;public class Main { static class Node { int x; int y; public Node(int x, int y) { this.x = x; this.y = y; } } static int n; // 테스트 케이스의 개수 static int l; // 체스판의 한 변의 길이 (4 queue; // 이동 방향 static int[] dx = { 1, 2, 2, 1, -1, -2, -2, -1 }; // x축 이동 static i..
[BOJ] 백준 7569번 : 토마토 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/7569import java.io.*;import java.util.*;public class Main { static int M; // 상자의 가로 칸 수 (가로) static int N; // 상자의 세로 칸 수 (세로) static int H; // 쌓아 올려지는 상자의 수 (높이) static int[][][] arr; static boolean[][][] visited; static Queue queue = new LinkedList(); // 방향 static int[] dh = { -1, 1, 0, 0, 0, 0 }; // 위아래 static int[] dn = { 0, 0, -1, 1,..
[BOJ] 백준 1697번 : 숨바꼭질 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/1697 BFSN이 움직이는 위치와 걸리는 시간을 다뤄야하므로 class Node를 정의하여 사용pos가 이동가능한 위치는 1초가 증가할 때마다 pos-1, pos+1, pos*2의 세 가지 경우를 고려import java.io.*;import java.util.*;public class Main { static class Node { int position; // 현재 위치 int time; // 걸린 시간 public Node(int pos, int time) { this.position = pos; this.time = time; } ..
[BOJ] 백준 10828번 : 스택 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/10828 int[ ]을 선언해서 구현하는 방법import java.io.*;import java.util.*;public class Main { public static int[] stack; public static int size = 0; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; BufferedWriter bw = new BufferedW..
[BOJ] 백준 1929번 : 소수 구하기 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/1929에라토스테네스의 체소수를 구하는 대표적인 방법k=2 부터 √N 이하까지 반복하여 자연수들 중 k를 제외한 k의 배수들을 제외시킨다import java.io.*;import java.util.*;public class Main { // true: 소수 아님, false: 소수 public static boolean[] prime; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffered..
[BOJ] 백준 2751번 : 수 정렬하기 2 - Java
·
Algorithm Solving/Java
https://www.acmicpc.net/problem/2751 PriorityQueue를 이용한 정렬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()); // 수의..