본문 바로가기

알고리즘 & 자료구조569

숫자 카드 나누기 package programmers; import java.util.Arrays; public class 숫자_카드_나누기 { //1. A가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, B가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 수 //2. B가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, A가 가진 카드들에 적힌 모든 숫자를 중 하나도 나눌 수 없는 수 public static int solution(int[] arrayA, int[] arrayB) { int answer = 0; int idx = 0; int max = Math.max(Arrays.stream(arrayA).max().getAsInt(), Arrays.stream(arrayB).max().getAsInt().. 2023. 3. 23.
호텔 대실 package programmers; import java.util.Comparator; import java.util.PriorityQueue; public class 호텔_대실 { public static int solution(String[][] book_time) { PriorityQueue pq1 = new PriorityQueue((o1, o2) -> { if (o1.start == o2.start) { return o1.end - o2.end; } return o1.start - o2.start; }); for (String[] s : book_time) { pq1.add(new Pair(s[0], s[1])); } PriorityQueue pq2 = new PriorityQueue(Comp.. 2023. 3. 22.
후보키 package programmers; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class 후보키 { static List candidateKeys; static String[][] table; public static int solution(String[][] relation) { String columns = init(relation); for (int i = 1; i < table[0].length + 1; i++) { go(columns, new HashSet(), i); } return candidateKeys.size(); } private stat.. 2023. 3. 21.
무인도 여행 package programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class 무인도_여행 { private static int[] dy = {-1, 0, 1, 0}; private static int[] dx = {0, 1, 0, -1}; public static int[] solution(String[] maps) { char[][] map = init(maps); List ansList = go(map); if (ansList.isEmpty()) { return new int[] {-1};.. 2023. 3. 20.
하노이의 탑 package programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class 하노이의_탑 { //한 번에 하나의 원판만 옮길 수 있다. //큰 원판이 작은 원판 위에 있어서는 안된다. private static List ans; public static int[][] solution(int n) { ans = new ArrayList(); go(n, 1, 3, 2); int[][] answer = new int[ans.size()][]; for (int i = 0; i < ans.size(); i++) { answer[i] = ans.get(i); } return answer; } pr.. 2023. 3. 17.
점 찍기 package programmers; public class 점_찍기 { public static long solution(int k, int d) { long answer = 0; for (int x = 0; x 2023. 3. 16.