PS47 [백준] 콘센트 - Java 23843 https://www.acmicpc.net/problem/23843 콘센트의 차징 시간을 내림차순으로 정렬하는 것이 키 포인트인 문제이다. 내림차순으로 정렬한 뒤 시간을 1씩 늘려가며 `sumpq.peek()`의 값이 `time`보다 작거나 같으면`sumpq`에서 해당 값을 빼주고 내림차순으로 정렬된 `pq`에서 값을 뽑아time을 더해 새롭게 `sumpq`에 더한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class BOJ23843 { publi.. 2024. 10. 24. [백준] 닭싸움 팀 정하기 - Java 1765 https://www.acmicpc.net/problem/1765 유니온 파인드를 사용하지 않고 친구의 친구도 반복문을 돌았을 때는 시간초과가 발생했다. 그래서, 원수의 원수의 경우에만 친구로 설정하고 친구의 경우는 유니온 파인드를 적용하여친구를 구별하기로 했고 그렇게 했을 때는 시간 초과가 발생하지 않았다. 전역 클래스에 `equals`와 `hashCode` 메소드를 직접 작성했는데 다른 분들의 코드를 보면굳이 이렇게 까지 작성하지 않아도 되는 거 같긴하다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class BOJ1765 { sta.. 2024. 10. 24. [백준] 트럭 - Java 13335 https://www.acmicpc.net/problem/13335 큐의 크기를 다리에 들어갈 수 있는 차의 개수로 설정하여,지속적으로 개수와 크기를 비교하며 큐에 트럭을 더한다. 만약, 트럭이 다리를 건널 수 없으면 큐와 `path`에 0을 추가하여 횟수를 카운팅한다.그리고 마지막에는 큐에 남아있는 값을 확인하여 남이있는 값이 있다면 다리의 길이만큼 더해준다. 하지만, 다리가 1인 경우 결국 전체 횟수는 N + 1만큼 걸리므로 바로 반환해준다.(엣지케이스) import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public.. 2024. 10. 24. [백준] 우주 탐사선 - 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 1034 public class BOJ1034 { /** * 14 3 * 001 * 101 * 001 * 000 * 111 * 001 * 101 * 111 * 110 * 000 * 111 * 010 * 110 * 001 * 6 */ static String[] grid; static int N; static int M; static int K; static int max; static int result = 0; public static void main(String[] args) throws IOException { BufferedRea.. 2024. 10. 10. [백준] 센티와 마법의 뿅망치 - 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. 이전 1 2 3 4 ··· 8 다음