📖 문제 https://www.acmicpc.net/problem/1417 💡 풀이 방식• 그리디 - 우선순위 큐. 사람 수를 내림차순으로 정렬하는 우선순위 큐를 만들고, 득표 숫자들을 입력받는다.. 우선순위 큐를 돌면서 해당 후보의 득표 수가 다솜이 득표 수보다 크거나 같다면, 해당 후보의 득표 수를 1 감소시킨 후 큐에 새롭게 값을 추가한다. 그리고 다솜이의 득표 수를 +1하고, 정답도 +1한다. 🔺 코드1234567891011121314151617181920212223242526import java.util.*;import java.io.*; public class Main{ public static void main(String[] args) throws IOException ..
📖 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💡 풀이 방식• 우선순위 큐필요 자료구조- 도착 시간을 "분"으로 변환한 값을 저장한 우선순위 큐- 현재 시간, 마지막 시간, 셔틀버스 탑승 인원 시간 저장용 변수 1. 크루들의 도착 시간을 "분"으로 변환해 우선순위 큐에 저장한다.2. 현재 시간, 마지막 시간, 셔틀버스 탑승 인원 저장용 변수를 사용한다. - 현재 시간 : 오전 9시로 시작하고, 셔틀버스가 지나갈 때마다 t시간만큼 더한다.3. 우선순위 큐에서 크루들의 도착 정보를 하나씩 확인하며 계산한다. - 가장 빨리 도착한 크루부..
📖 문제 14497번: 주난의 난(難) 주난이는 크게 화가 났다. 책상 서랍 안에 몰래 먹으려고 숨겨둔 초코바가 사라졌기 때문이다. 주난이는 미쳐 날뛰기 시작했다. 사실, 진짜로 뛰기 시작했다. ‘쿵... 쿵...’ 주난이는 점프의 파 www.acmicpc.net 💡 풀이 방식 • 다익스트라 (우선순위 큐) 최단 경로인 지점을 항상 우선으로 탐색하고자 점프 횟수 기준 오름차순 정렬하는 우선순위 큐를 활용한다. class Node implements Comparable { int x, y, w; public Node(int x, int y, int w) { this.x = x; this.y = y; this.w = w; } @Override public int compareTo(Node n) { // 💥 ..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 우선순위 큐 - 적의 수를 순서대로 우선순위 큐에 저장한다. (무적권으로 방어할 라운드의 적의 수) - 무적권의 수보다 방어할 라운드가 많은 경우, 적의 수가 가장 적은 라운드에서 전투해 병력을 감소한다. - 병력이 0보다 적어지면, 게임이 종료되며 해당 라운드 수를 반환한다. / 게임을 클리어한 경우, 총 라운드 수를 반환한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.*; class Solu..
🔺 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import java.util.*; class Solution { public long solution(int n, int[] works) { PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); // 내림차순 정렬 for(int w : works) pq.add(w); while(n > 0) { int work = p..
🔺 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.*; class Solution { public int solution(int[] priorities, int location) { PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); // 내림차순 정렬 int answer = 0; for(int i : priori..
🔺 문제 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import java.util.*; import java.io.*; public class Main { static int N, cnt; static int[][] arr; public static void main(String[] args) throws IOException { B..
🔺 문제 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(..
📍 정의 및 특징 완전 이진 트리의 일종 반정렬 상태 (완전 정렬 X) 중복값 허용 시간 복잡도 : O(logN) 종류 : 최대 힙 (부모 노드가 가장 큰) / 최소 힙 (부모 노드가 가장 작은) 구현 : 우선순위 큐 #완전이진트리 #우선순위큐 📍 필요 변수 ✔ 우선순위 큐 ✔ 배열 📍 실행 과정 부모 노드가 N (N ≥ 1)이면, 자식 노드는 *2, *2 + 1 자식 노드가 N이면, 부모 노드는 N/2 ➕ 예제 [백준/JAVA] 1927번: 최소 힙 🔺 문제 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는( bono039.tistory.com [..