목록코딩 테스트 (186)
미소를뿌리는감자의 코딩
https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 1. 접근 방법 이번 문제는 11297번 최대 힙 을 구하는 문제에서 조금만 modify한다면, 바로 풀 수 있는 문제였다. 11297 문제의 아래 부분을 PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); 아래와 같이 바꾸기만 하면 해결되었다. PriorityQueue minHeap = new Prio..
https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 1. 접근 방법 이번 문제는 가뭄의 단비 같은 느낌 이었다~ㅎㅎ 오랜만에 빠르게 해결할 수 있던 문제였다. + 함수를 만들어서 사용하는 것이 요즘 예쁘고 매력적이게 느껴진다. 앞으로 코드를 작성할 때, 함수를 잘 사용해 보고 싶다. 2. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Deque; import java.u..
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 1. 접근 방법 이번 문제의 경우, 1021번 (회전하는 큐) 문제와 유사하다고 생각이 들었다. 이는 1021번 보다는 더 쉬운 문제라는 생각이 들었다. 왜냐하면, 1021번 문제의 경우 돌리는 방향을 왼쪽 or 오른쪽으로 결정해줘야 하는 문제가 있었는데, 이번 문제는 한 방향으로 돌리고, 돌리는 횟수도 정해져 있기 때문이다. 처음 코드를 작성하고 출력하여 보았을 때, 처음 숫자를 제외하고 잘 작성이 되지 않아 어떤 부분을 놓쳤나 확인해 보니, 원하는 값을 출력하기 위해, dequ..
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 1. 접근 방법 해당 문제의 경우 Java에서 최대 힙의 구현 여부를 물어보았다. max heap 은 구현되어 있지 않으나, min heap이 구현되어 있어 이를 사용하면 될 것이라고 하였다. 그렇게 0의 값이 들어온다면, max heap의 루트를 출력해 주었고, 아니라면, max heap에 넣어주었다. 최대 힙의 경우 다음과 같이 선언하고 사용해 주면 되었다. Priori..