[java 스터디] 문제풀이 28107번 java 백준-회전초밥 문제 회전 초밥 가게에 N명의 손님이 있고, 요리사는 M개의 초밥을 순서대로 만든다. 요리사가 초밥을 만들 경우, 1번 손님부터 N번 손님의 순서대로 그 초밥을 받게 된다. 만약 먼저 초밥을 받는 손님이 초밥을 먹을 경우, 뒤의 손님들은 해당 초밥을 먹을 수 없다. 만약 아무도 해당 초밥을 먹지 않는다면, 초밥은 버려진다. N명의 손님은 각자 먹고 싶은 초밥이 적힌 주문 목록을 가지고 있다. 목록에 적힌 초밥의 순서에 상관 없이 만약 목록에 적혀있는 초밥이 앞에 오면 반드시 먹는다. 만약, 목록에 적히지 않은 초밥을 받는다면 그 초밥은 반드시 먹지 않는다. 단, 손님들은 다양한 초밥을 먹고 싶어하기 때문에 각 종류의 초밥은 최대 한 번만 먹는다.각 손님의 주문 목록과 순서대로 만들어지는 M개의 초밥이 .. 더보기 [java 스터디] 문제풀이 11286번 java 백준 최대 힙 문제랑 많이 비슷하다.최대 힙 문제처럼 우선순위 큐를 사용한다. 하지만 절댓값 기준으로 정렬을 해줘야 하니, Compare를 오버라이드해서 정렬의 기준을 정한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Comparator;import java.util.PriorityQueue;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in.. 더보기 [java 스터디] 문제풀이 크리스마스 선물 14235 처음에 이 문제를 이해하는데 어려웠다. a가 0일 때마다 정렬을 하고 거기서 최대값을 뽑아야한다.이 때, 시간 복잡도는 N^2log(N)이 예상 되어 TLE가 날 것 같다. 그래서 우선순위 큐를 이용하여 정렬하는데 logN을 사용하고 NlogN이 되어 TLE가 안난다. 0이면 pq에서 poll하고0이 아니면 그 개수만큼 pq에 offer하는 것이다. 코드 package Data_Structure;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class BOJ142.. 더보기 이전 1 2 3 4 5 6 ··· 88 다음