목록전체 글 (348)
미소를뿌리는감자의 코딩

https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 1. 접근 방법 이번 문제는 어떤 수(n)의 약수를 주어주고, n을 구하는 문제였다. 약수들을 쭉 보면서 드는 생각으로, 어떤 수는 어떤 수와 곱해졌을 때, n이 만들어지는구나 였다. 여기서 그 어떤수가 주어진 값들 중에서 최대 값이었다면, 그 최대 값의 짝은 주어진 값들 중 최소 값이겠구나 라고 생각이 들었다. 따라서, 주어진 값들 중에서 최소 값과 최대 값을 곱하여 출력하도록 코딩을 시..
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..