java18 [백준] 우주 탐사선 - Java 17182 https://www.acmicpc.net/problem/17182 플로이드-워샬 알고리즘과 백트래킹을 사용해서 풀었다. 우선, 모든 노드의 최단 거리를 `플로이드-워샬` 알고리즘을 사용해 구해준다. 그 후, 백트래킹으로 모든 경우의 수를 탐색하여 나올 수 있는 최대값을 계산한다. public class BOJ17182 { static int[][] grid; static int N; static int K; static boolean[] visited; static int result = Integer.MAX_VALUE; public static void main(String[] args) throws IOException { BufferedReader b.. 2024. 10. 21. [백준] 센티와 마법의 뿅망치 - Java 19683 https://www.acmicpc.net/problem/19638 우선순위 큐를 사용해서 풀었다. 최소값이 1이거나 키보다 작은 값일 경우 반복문을 탈출 후 결과 출력한다 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamR.. 2024. 10. 10. [백준] 풍선 터트리기 - Java 32377 https://www.acmicpc.net/problem/32377 우선, 입력값인 x, y, z의 값이 굉장히 크기 때문에 `이분 탐색`으로 접근해야 된다는 생각이 들었다.(그리고 시간 제한이 0.5초이다) 그래서 내가 생각한 키 포인트는 x, y, z에 따른 N번째 풍선을 터트리는 순간을 이분 탐색으로 찾아야 된다고 생각했다. 그리고 동시에 두 명 이상이 풍선을 터트리는 경우 A, B, C 순서대로 터트리기 때문에N번째 풍선을 터트리는 순간의 `-1`초를 해주고 반복문을 돌며 나누어 떨어지는 값을 출력했다. import java.io.*;import java.util.StringTokenizer;public class BOJ32377 { public static void main(String.. 2024. 10. 2. [백준] 두수의 합 - Java 9024 https://www.acmicpc.net/problem/9024 투 포인터를 사용하여 문제를 풀었다. 키 포인트는 정렬 후 `p1`을 0번째 인덱스 `p2`를 마지막 인덱스로 잡은 뒤주어진 K값과의 절대값 차이의 최소값을 계속해서 기록해나간다. 만약, 최소값을 갱신하지 못하는 값이라면 절대값을 씌우지 않고 K에서 뺀 값이 음수면 `p1`을 증가시키고 양수면 `p2`를 감소시킨다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.HashMap;import java.util.Map;import java.util.Strin.. 2024. 10. 2. [백준] 진우의 민트초코우유 - Java 20208 https://www.acmicpc.net/problem/20208 브루트 포스 문제이다. 처음에는 그냥 좌표값을 1씩 증가시키면서 전체의 좌표를 돌았는데역시나 시간 초과가 발생했다. 따라서, 민트초코우유가 있는 장소를 담고 있는 리스트를 만들어 해당 좌표만 접근하도록 코드를 변경했다. 현재 `health`로 해당 좌표에 도달할 수 있다면 해당 부분에 관한 재귀를 돈다.이때, 현재 위치에서 출발지로 되돌아갈 수 있다면 해당 우유는 먹을 수 있기 때문에 그 경우 최대값을 갱신해줬다. public class BOJ20208 { static int N, M, H; static int[][] grid; static boolean[] visited; static List mint; .. 2024. 9. 29. [백준] 다이어트 - Java 19942 https://www.acmicpc.net/problem/19942 문제를 보자마자 재료를 고르는 경우의 수를 비트마스킹으로 풀면 되겠다는 생각을 했다. `3 public class BOJ19942 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int minDan = Inte.. 2024. 9. 28. 이전 1 2 3 다음