[BOJ] 백준 1931 회의실 배정 (Swift)
문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 풀이 회의가 빨리 시작한다고 해서 빨리 끝나지 않기 때문에 회의가 끝나는 시간에 초점을 맞춰주어야 하는 문제입니다. 하지만 끝나는 시간이 동일하다면 시작 시간이 빠른 것이 더 유리할 것입니다. (3, 3), (2, 3) 이란 회의 정보가 있다면 (2, 3) 회의를 하면 (3, 3) 회의도 진행이 가능합니다. 하지만 (3, 3) 회의를 먼저하면 (2, 3) 회의를 할 수 없습니다. 따라서 회의의 정보를 끝나는 시간에 맞춰 정렬을 하되, 끝나는 시간이 같다면 시작 시간이 더 빠른 순으로 정렬을 해줍시다. 그 이..
[BOJ] 백준 11047 동전 0 (Swift)
문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 풀이 그리디 알고리즘을 사용하여 풀이할 수 있습니다. K가 0이 될 때 까지, K를 가장 큰 동전부터 나눈 몫을 더해주면 동전의 최소 개수를 구할 수 있습니다. 문제의 조건 중 (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 라는 조건이 있기 때문에, 그리디 알고리즘이 성립하게 됩..
[BOJ] 백준 11659 구간 합 구하기 4 (Swift)
문제 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 풀이 이 문제는 누적 합을 구해서 쉽게 풀이할 수 있습니다. [5, 4, 3, 2, 1] 배열의 누적합을 구한다면 [5, 9, 12, 14, 15] 가 될 것입니다. 2 ~ 4번까지의 합은 4 + 3 + 2 로 9가 됩니다. 누적합 배열을 보시면 4번째 요소가 의미하는 것이 1 ~ 4까지의 합이고, 1번째 요소가 의미하는 것은 0 ~ 1까지의 합입니다. 4번째 요소 -..