우선순위 큐
[BOJ/JAVA] 23559번: 밥
23559번: 밥https://www.acmicpc.net/problem/23559키워드제주대 학생회관 식당에는 두 개의 메뉴가 있다.코너 A로 가면 5,000원짜리 메뉴를 먹을 수 있고, 코너 B로 가면 1,000원짜리 메뉴를 먹을 수 있다.NNN일동안 매일 학식의 두 메뉴 중 정확히 하나를 골라서 먹어야 한다.준원이는 이미 모든 날의 각 메뉴가 얼마나 맛있을지 수치를 매겨 두었다.준원이는 NNN일간 학식에 총 XXX원 이하를 써야 한다.고른 메뉴의 맛의 합을 최대화 해주자!구현일단 무조건 더 맛있는 메뉴를 고른다.이후 금액에 맞게끔 1,000원 짜리 메뉴로 바꾸었을 때 차이가 가장 적은 메뉴부터 교체해 나간다. boolean is5000[][i] 번째 고른 메뉴가 5000원 짜리 메뉴인가?더 맛..
[BOJ/JAVA] 23254번: 나는 기말고사형 인간이야
https://www.acmicpc.net/problem/23254 23254번: 나는 기말고사형 인간이야 192시간 동안 1번 과목을 35시간, 2번 과목을 43시간, 3번 과목을 30시간, 4번 과목을 17시간, 5번 과목을 37시간, 6번 과목을 30시간동안 공부하면 1, 2, 3, 4, 6번 과목은 100점, 5번 과목은 77점, 7번 과목은 www.acmicpc.net 나중에 리펙토링이 많이 필요한 문제 1 시간 공부할 때 마다 증가폭이 높은 과목을 선택하여 공부하는데, 100 점이 넘어 갔을 때 처리를 어떻게 하느냐가 문제. 나는 100점이 넘어가게 되면 100 - 원래 점수 를 이용하여 순수 증가량을 추출하였다. import java.io.BufferedReader; import java.i..
[BOJ/JAVA] 15903 카드합체 놀이
https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 합쳐진 카드 뭉치 중 작은것 2개의 합을 계속 더해나가는 문제 작은것 2개의 합을 다시 카드목록에 추가하므로 우선순위 큐를 이용했다. 사용 알고리즘 : 우선순위 큐, 그리디 알고리즘 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav..
[java] 11286번: 절댓값 합
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Comparator; import java.util.Priori..