본문 바로가기

priority queue4

[백준] 17140번: 이차원 배열과 연산 (Java) 1. 문제설명크기가 3x3인 배열 A가 있고, 이 배열의 인덱스는 1부터 시작하며, 1초가 지날 때 마다 연산이 적용된다.R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다.C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 각 행 또는 열에 있는 수의 등장 횟수를 세고, 수의 등장 횟수가 커지는 순으로, 등장 횟수가 같으면 수가 커지는 순으로 정렬한다. 그 다음에는 배열 A에 정렬된 결과를 다시 넣는다. 수와 등장 횟수를 모두 넣으며, 순서는 수가 먼저이다. (예: [3, 1, 1]은 [3, 1, 1, 2]로 변환)정렬 후 가장 긴 행 또는 열에 맞춰 다른 행이나 열의 크기가 조정되고, 남는 칸은 0으로 채워진다. 행 또는 열의 크기가 1.. 2024. 9. 19.
[백준] 1927번: N번째 큰 수 (Java) 1. 문제설명NxN의 표에 int 범위의 수가 채워져 있다. 채워진 모든 수는 자신의 한 칸 위에 있는 수보다 크다. 이러한 표가 주어졌을 때 N번째 큰 수를 찾는 문제이다.시간 제한: 1초메모리 제한: 12MB (Java 11: 384 MB) 2. 접근 방식우선순위 큐를 사용하여 내림차순으로 표의 모든 값을 저장한다.N-1번 큐의 맨 앞의 값을 제거하고, N번째의 값을 출력한다. 3. 최종 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS.. 2024. 9. 11.
[백준] 11279번: 최대 힙 (Java) 1. 문제설명최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 구하는 문제이다.x가 자연수이면 배열에 x를 넣는다.x가 0이면 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.시간 제한: 1초 (Java 11: 2초)메모리 제한: 256MB 2. 접근 방식우선순위 큐를 사용하여 최대 힙을 구현한다.최대 힙이기 때문에 우선순위 큐는 내림차순 정렬되도록 설정한다. (참고)연산x가 자연수 ⇒ 값 추가x가 0 ⇒ 가장 큰 값 출력 & 제거 ⇒ 큐의 맨 첫 번째 값 출력 & 제거만약 큐가 비어있으면 0을 출력 3. 최종 코드import java.io.*;import java.util.*;public class Main { public s.. 2024. 9. 11.
[백준] 1927번: 최소 힙 (Java) 1. 문제설명최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 구하는 문제이다.x가 자연수이면 배열에 x를 넣는다.x가 0이면 배열에 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작한다.시간 제한: 1초 (Java 11: 2초)메모리 제한: 128MB 2. 접근 방식우선순위 큐를 사용하여 최소 힙을 구현한다.연산x가 자연수 ⇒ 값 추가x가 0 ⇒ 가장 작은 값 출력 & 제거 ⇒ 큐의 맨 첫 번째 값 출력 & 제거만약 큐가 비어있으면 0을 출력 3. 최종 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Pr.. 2024. 9. 11.
반응형