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개를 뽑아서 더해주는 게 핵심이다. 우선순위큐는 O(logN)의 시간 복잡도를 가지고 가중치에 먼저 추출할 수 있기 때문에 쉽게 해결이 가능할 것이라고 생각했다. 3. 코드 from queue import PriorityQueue n..
1. 문제정보 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 2. 해결전략 1. 이러한 문제의 유형은 중요한 값(리터 당 가격)을 필요할 때 변경하는 게 포인트인 것 같다. (리터당 가격이 더 저렴해질 때 >> 그리디 문제의 본질이기도 하다) 2. 기름값이 더 저렴해질때까지 현재의 기름 값으로 이동한다. 3. 마지막 마을의 기름값은 의미가 없다(link 인덱스와 price 인덱스가 함께 이동한다) 3. 코드 # https://w..
1. 문제정보 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 2. 해결전략 1. 원과 접점의 관한 문제이다. 2. 두 점 사이의 거리(dist)와 r1, r2와의 관계 3. 제곱근의 정수형 변환 >> 습관적 정수형 변환으로 고생함 ㅠㅠ.. 3. 코드 # https://www.acmicpc.net/problem/1002 # 1. 원의 접점을 구하는 문제로 보인다. # 2. 규현, 승환이 포함 관계가 아닌 경우 # 규현, 승환의 거리 == r1+r2 => 1개 # 규현, 승환의 거리 < r1+r2 ..
문제정보 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 해결전략 1. 곱해지는 값이 최소가 되려면 한쪽에서는 최대값을 다른 한쪽에서는 최소값을 선택해야 한다. 2. 만약 a를 오름차순 해서 정렬한다면 곱해지는 b의 값은 내림차순 해서 곱해야 한다는 뜻이다. (문제에서 b를 정렬하지 않는다고 한 것은 속임수가 아닐까..?) 3. 단 a를 오름차순 했을 때의 결과값과 a를 내림차순 했을 때의 결과값이 다를 수 있다. 코드 # https:/..