[백준] #1715. 카드 정렬하기
·
Coding Practice/Backjoon
📖 문제#1715. 카드 정렬하기난이도: 골드4유형: 우선순위 큐, 힙문제 요약숫자 카드 묶음 N개가 주어진다.이 카드 묶음들을 두 개씩 골라 합칠 때마다 '비교 횟수'가 카드 수의 합만큼 발생한다.즉, 10장과 20장을 합치면 30번의 비교가 필요하다.이 과정을 반복해 카드 묶음을 하나로 만들 때까지 합칠 때,총 비교 횟수가 최소가 되도록 하는 것이 목표이다.🔍 문제 접근💡 문제 분석가장 적은 비교 횟수를 만들려면 작은 수부터 차례로 합쳐야 한다.예를 들어, 10, 20, 40이라면(10+20)=30 → (30+40)=70 → 총 100반면 (10+40)=50 → (50+20)=70 → 총 120이처럼 먼저 합치는 두 카드 묶음의 크기가 작을수록 전체 비교 횟수도 줄어든다.➡ 작은 두 수를 매번 ..
[백준] #14698. 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) (파이썬/Python)
·
Coding Practice/Backjoon
📖 문제[백준] #14698. 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) (파이썬/Python)난이도: 골드4유형: 우선순위 큐, 힙문제 요약이세계로 전생한 슬라임 연구자가 N마리의 슬라임을 단 한 마리로 합성하려 한다.슬라임을 합성하면 에너지가 곱해지며, 합성 과정마다 A×B의 전기 에너지를 소비한다.이 전기 에너지는 비용으로 청구되며, 모든 합성에서의 전기 에너지를 곱한 값이 최종 비용이 된다.목표는 이 비용을 최소화하는 것이며, 결과값은 1,000,000,007로 나눈 나머지로 출력한다. 요약의 요약슬라임 합성 과정: 2마리 합성 → 1마리 (A에너지 * B에너지)합성할 때 필요한 전기에너지: A*BN마리의 슬라임들을 1마리의 슬라임으로 합성구해야 하는 값: 모든 슬라임을 끝까지 다 합..
[프로그래머스] #디스크 컨트롤러 (파이썬/Python)
·
Coding Practice/Programmers
📖 문제[프로그래머스] #디스크 컨트롤러 (파이썬/Python)난이도: Level 3유형: 우선순위 큐, 힙문제 요약하드디스크는 한 번에 하나의 작업만 처리할 수 있다.작업은 [요청 시점, 소요 시간]으로 주어지며, 디스크 컨트롤러는 다음 우선순위에 따라 작업을 수행한다.소요 시간이 짧은 작업 우선요청 시점이 빠른 작업 우선작업 번호가 작은 작업 우선모든 작업이 완료될 때까지 각 작업의 `반환 시간(작업 종료 - 요청 시각)`을 구하고, 그 평균의 정수 부분을 반환하면 된다. 🔍 문제 접근💡 문제 분석"언제 어떤 작업을 꺼내야 하나?"가 핵심이다.현재 시간(`end_time`)을 기준으로, 요청된 작업들 중에서 소요 시간이 가장 짧은 작업을 선택해야 한다.이를 위해 힙(우선순위 큐) 을 활용한다.대..