알고리즘/그리디

알고리즘/그리디

[BOJ] 백준 11000 - 강의실 배정 풀이

1. 문제 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 2. 풀이 생각보다 굉장히 어려웠던 문제였다. 이 문제의 핵심은 "현재 탐색중인 수업의 시작 시간이 다음 수업 시작 시간보다 작거나 같으면 같은 강의실을 배정할 수 있다" 이다. 주요 자료 구조 PriorityQueue pq : 배정한 수업이 들어가있는 우선순위 큐 List lessonList : 수업 리스트 우선 수업을 리스트에 넣고 수업 시작 시간을 기준으로 오름 차순 정렬하고 수업 시작 시간이 같다면 종료 시간을 기준으로 오름 ..

알고리즘/그리디

[BOJ] 백준 15903 - 카드 합체 놀이 풀이

1. 문제 https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 2. 풀이 주어지는 카드 순열의 값이 양수만 주어지기 때문에 "큰 수 + 큰 수"를 하면 큰 수가 나올 수 밖에 없다. 따라서 작은 수 + 작은 수를 해야 최소가 나온다. 만약 일반 배열 및 리스트를 활용하여 문제를 해결한다면 카드를 오름차순 정렬한다. 앞에서 2개를 제거하고 이 두 개의 카드를 더한 값을 2번 add 한다. 이 두 과정을 반복해야 ..

알고리즘/그리디

[BOJ] 백준 11501 - 주식 풀이

1. 문제 https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 2. 풀이 문제에서 주어진 행동은 총 3가지이다. 주식 하나를 산다. 원하는 만큼 주식을 판매한다. 아무것도 하지 않는다. 이 문제를 틀리는 대부분의 경우는 그리디적인 접근을 해서 틀리는 경우일 것이다. 그리디적인 접근 방법은 주가의 최대치에서 다음날 떨어진다면 현재 날짜에 기존에 구입했던 주식을 판매하는 것이다. 그러나 이는 최대 이익을 볼 수 있는 방법이 아니다. 올바른..

송승현(SSH)
'알고리즘/그리디' 카테고리의 글 목록