본문 바로가기

전체 글

(189)
햄최몇?( BOJ 19645 ) 문제 : https://www.acmicpc.net/problem/19645 19645번: 햄최몇? 세 모질이들 관우, 철환, 길원이가 모였다. 모질이들은 모이면 서로 '햄버거 최대 몇 개 드실 수 있나요?'의 준말인 '햄최몇?'을 시전하며 자랑을 하기 바쁘다. 막내 길원이는 문득 중요한 사실을 www.acmicpc.net 문제 파악하기 3명의 사람이 N개의 햄버거를 나누어먹을 때, 가장 적은 효용을 얻게 되는 사람의 최댓값을 구하는 문제입니다. 효용은 햄버거를 먹으면 얻게 되며, 햄버거는 한 사람이 무조건 다 먹어야 하기 때문에 단순히 3등분 하는 방법으로는 구할 수 없습니다. 따라서, 이 경우에는 효율적으로 가능한 경우를 탐색해야 합니다. 가장 단순하게 재귀 함수를 사용하는 방법부터 배열을 사용하는 ..
행운쿠키 제작소( BOJ 10982 ) 문제 : https://www.acmicpc.net/problem/10982 10982번: 행운쿠키 제작소 데브베이커리에서는 기념일을 맞아 직원들에게 행운쿠키를 선물하기로 하였다. 회사의 간식을 담당하는 철수는 나누어줄 행운 쿠키를 준비하는 역할을 맡게 되었다. 행운쿠키를 만들기 위해서 www.acmicpc.net 문제 파악하기 2개의 오븐을 사용해 모든 행운쿠키를 굽는데 걸리는 최소 시간을 구하는 문제입니다. 쿠키는 어떤 오븐에서 굽는지에 따라 완료되는 시간이 다르기에 쿠키마다 오븐을 적절하게 활용해야 효율적으로 모든 쿠키를 구울 수 있습니다. 전형적인 배낭 문제의 한 종류로, 동적 프로그래밍 기법을 활용하면 어렵지 않게 문제를 해결할 수 있습니다. 문제 해결하기 이 문제에서 중점으로 봐야할 핵심요소는..
Two Machines( BOJ 17528 ) 문제 : https://www.acmicpc.net/problem/17528 17528번: Two Machines 스케줄링 최적화 회사인 SOPT 에 완료해야 할 n개의 작업 t1, t2, ..., tn 이 있다. SOPT 회사는 두 대의 머신 A 와 B 를 보유하고 있다. 각 작업 ti를 완료하기 위해 SOPT 는 머신 A 와 B 둘 중에 오직 하나 www.acmicpc.net 문제 파악하기 2개의 머신(A, B)을 사용하여 N개의 작업을 모두 처리하는데 필요한 시간의 최솟값을 구하는 문제입니다. 각각의 작업은 A와 B 머신 중 하나의 머신에서만 처리될 수 있으며, 선택한 머신에 따라 Ai 또는 Bi만큼의 시간이 소요됩니다. 알고리즘을 단순히 생각하면 두 머신 중 적은 시간이 걸리는 머신에 할당하면 ..
방 청소( BOJ 9938 ) 문제 : https://www.acmicpc.net/problem/9938 9938번: 방 청소 처음 6개의 술은 규칙 1에 의해서 1, 3, 5, 7, 9, 2번 서랍에 보관할 수 있다. 7번째 술은 규칙 3을 적용할 수 있다. 1번 서랍에 들어있는 술을 2로, 2번 서랍에 들어있는 술을 3으로, 3번 서랍에 들어있 www.acmicpc.net 문제 파악하기 N개의 술병을 서랍에 넣을 수 있는지 확인하는 문제입니다. 술병은 각각 정해진 2개의 서랍(A, B) 중 비어있는 위치에 넣을 수 있으며, 이미 서랍에 들어있는 술병을 연쇄로 이동하여 빈 자리가 생기게 만들 수도 있습니다. 다만 술병을 넣는 서랍은 우선순위가 있는데 A와 B 중 비어있는 서랍에 우선적으로 넣어야 하며, 두 서랍에 모두 넣을 수 있다..
트럭( BOJ 13335 ) 문제 : https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 문제 파악하기 N개의 트럭이 다리를 건너는데 필요한 최소 시간을 구하는 문제입니다. 트럭의 순서는 바꿀 수 없으며, 모든 트럭은 다리를 건너는데 W만큼의 시간이 걸립니다. 최대 하중인 L을 넘지 않는 선에서 모든 트럭이 다리를 건너는데 필요한 최소 시간을 구하기 위해서는 현재 다리를 건너고 있는 트럭의 총 하중을 고려하여 직접 시뮬레이션 할..
보안 업체( BOJ 9938 ) 문제 : https://www.acmicpc.net/problem/4243 4243번: 보안 업체 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 상점의 수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 시작점의 위치 a (1 ≤ a ≤ N)가 주어진다. a번째 점, pa = s가 시 www.acmicpc.net 문제 파악하기 N개의 상점을 순찰하는데 걸리는 대기 시간의 최솟값을 구하는 문제입니다. 문제를 해결하기 위해 우리는 시작점부터 왼쪽 혹은 오른쪽에 위치한 상점을 하나씩 선택하여 방문할 수 있으며, 이 과정에서 상점들이 가지게 되는 대기 시간을 구하고 비교하면 정답을 구할 수 있습니다. 사실 오른쪽과 왼쪽에 위치한 상점 중 하나를 방문하는 알고리즘은 전형적인..
소가 길을 건너간 이유( BOJ 14469 ) 문제 : https://www.acmicpc.net/problem/14469 14469번: 소가 길을 건너간 이유 3 첫 번째 소는 2초에 도착하고 3초에 농장을 입장한다. 그 다음에는 세 번째 소가 5초에 도착하여 12초에 농장을 입장한다. 마지막으로 두 번째 소가 8초에 오는데, 세 번째 소가 검문을 받고 있으 www.acmicpc.net 문제 파악하기 N마리의 소가 농장에 도착해서 검문을 완료하기까지 걸리는 최소 시간을 구하는 문제입니다. N마리 소에 대한 2가지 정보(도착 시간, 검문시간)를 이해하면 문제는 어렵지 않게 해결할 수 있습니다. 문제 해결하기 우선 도착 시간은 소가 검문을 할 수 있는 시간을 의미합니다. 따라서, 우리는 소들을 도착한 시간을 기준으로 정렬하면 대략적인 순서를 정할 수 ..
FFT 문제 : https://www.acmicpc.net/problem/10531 10531번: Golf Bot Do you like golf? I hate it. I hate golf so much that I decided to build the ultimate golf robot, a robot that will never miss a shot. I simply place it over the ball, choose the right direction and distance and, flawlessly, it will strike the ball across www.acmicpc.net 개요 FFT는 고속 푸리에 변환을 의미하며, PS에서는 보통 다항식의 계산을 빠르게 계산할 때에 사용합니다. 알고리즘의..