본문 바로가기

문제 노트/백준

(102)
같은 탑( BOJ 1126 ) 문제 : https://www.acmicpc.net/problem/1126 1126번: 같은 탑 첫째 줄에 조각의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에 각 조각의 높이가 주어진다. 높이는 500,000보다 작거나 같은 자연수이고, 모든 조각의 높이의 합은 500,000을 넘 www.acmicpc.net 문제 파악하기 N개의 블럭이 있습니다. N개의 블럭을 적절하게 쌓아서 높이가 동일한 2개의 탑을 최대한 높게 만드는 것이 목표입니다. 단순히 재귀함수 sv( idx, left, right) 를 만들기에는 left와 right에 최대 250,000까지 들어갈 수 있기에 메모리/시간 모두 부족합니다. 그렇다면 문제를 어떻게 추상화시킬 수 있을까요? 문제 해결하기 그렇다면 le..
자물쇠( BOJ 1514 ) 1514. 자물쇠 : https://www.acmicpc.net/problem/1514 1514번: 자물쇠 세준이는 노트북을 누가 가져갈까봐 자물쇠로 잠가놓는다. 자물쇠는 동그란 디스크 N개로 구성되어 있다. 각 디스크에는 숫자가 0부터 9까지 숫자가 표시되어 있다. 디스크는 원형이기 때문에, 0 www.acmicpc.net 1. 문제 파악하기 자물쇠는 0~9까지 숫자가 있으며, 총 N개의 디스크로 구성되어 있습니다. 세준이는 한 번에 최대 3개의 디스크를 최대 3칸까지 돌릴 수 있습니다. 이 때, 세준이가 돌려야 할 최소 횟수를 구해야 합니다. 단순히 왼쪽부터 가까운 방향으로 회전해서는 최소 횟수를 구한다는 보장이 없기에 효율적인 탐색 알고리즘이 필요합니다. 2. 문제 해결하기 우선, 현재 가장 왼쪽의..
선물 전달( BOJ 1947 ) 1947. 선물 전달 : https://www.acmicpc.net/problem/1947 1947번: 선물 전달 경우의 수를 1,000,000,000으로 나눈 나머지를 첫째 줄에 출력한다. www.acmicpc.net 1. 문제 파악하기 N명의 사람이 선물을 교환해야 합니다. 단, 다른 사람에게 꼭 자신의 선물을 건네야 합니다. 또한, N의 값이 1,000,000까지 커질 수 있으므로 long long int형을 사용해야 한다는 사실을 유념해야 합니다. 2. 문제 해결하기 DP[N]을 N명의 사람이 선물을 교환하는 방법이라고 정의하겠습니다. 만약 1번 사람이 K번 사람과 선물을 교환했다고 가정해봅시다. 그렇다면 위 상황은 (N-2)명의 사람들만 서로 선물을 교환해야 하는 상황으로 바뀌며, 이 때 방법의..
블로그( BOJ 16157 ) 16157. 블로그 : https://www.acmicpc.net/problem/16157 16157번: 블로그 neighbor 블로그를 운영하는 디디는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 스스로 해결한 경우 파란색, 도움을 받아 해결한 경우 초록 www.acmicpc.net 문제 파악하기 블로그에 올린 문제는 3가지 색깔(R, G, B)로 칠하게 됩니다. 연속된 문제들은 한번에 같은 색깔로 색을 칠할 수 있습니다. 문제들을 각각 원하는 색깔로 칠하기 위해서는 최소 몇 번의 색칠 작업이 필요할 지 구해야 합니다. 그렇다면 그리디 알고리즘을 사용하면 문제를 풀 수 있을까요? 문제 해결하기 아쉽게도 그리디 알고리즘으로는 최적값을 찾는데 무리가 있습..
248 게임( BOJ 12031 ) 12031. 248 게임 : https://www.acmicpc.net/problem/12013 12013번: 248 게임 이 예에서, Bessie는 두 번째와 세 번째에 있는 1을 2로 합친다. (1 2 2) 두 번째와 세 번째에 있는 2를 3으로 합친다. (1 3) 첫 번째와 두 번째 1을 합치는 것은 최적해가 아님을 주의해라. www.acmicpc.net 문제 파악하기 인접한 숫자 중 값이 같은 숫자끼리 합칠 수 있으며, 합치면 그 값보다 1 큰 수 한개로 바꿀 수 있습니다. 게임을 진행하면서 만들 수 있는 가장 큰 숫자를 구해야 합니다. 인접한 숫자만 합칠 수 있기 때문에 구간에 따른 어떤 값을 구하면 문제를 해결할 수 있을 듯 합니다. 문제 해결하기 숫자들은 합치는 순서에 따라 만들어지는 최댓값..
크리스마스 트리 꾸미기( BOJ 16468 ) 16468. 크리스마스 트리 꾸미기 : https://www.acmicpc.net/problem/16468 16468번: 크리스마스 트리 꾸미기 이진트리란 각각의 노드가 최대 두개의 자식 노드를 가지는 트리 자료구조로, 자식 노드는 왼쪽 자식 노드와 오른쪽 자식 노드가 있다. 제일 위에 노드가 1개, 그 다음 2개… 와 같은 식으로 위에 www.acmicpc.net 문제 파악하기 N개의 볼을 사용해 L 높이의 트리를 만드는 방법의 수를 구해야 합니다. 트리는 이진 트리 모양으로 구성되기에 N개의 볼이 있다면 (N-1)개의 볼을 왼쪽/오른쪽 자식으로 나눌 수 있습니다. (왼쪽 자식 수, 오른쪽 자식 수) 라고 표현한다면 N개의 볼은 (0, N-1) ~ (N-1, 0) 까지 총 (N-1)가지 경우의 수로 나..
Visiting Cows( BOJ 5934 ) 5934. Visiting Cows : https://www.acmicpc.net/problem/5934 5934번: Visiting Cows After many weeks of hard work, Bessie is finally getting a vacation! Being the most social cow in the herd, she wishes to visit her N (1
금고 (SAFE) ( BOJ 14932 ) 문제 14932. 금고 (SAFE) : https://www.acmicpc.net/problem/14932 14932번: 금고 (SAFE) 제연이는 멘사 회원이 되고 싶어 멘사 수학 퀴즈를 살펴보던 중 흥미로운 사실을 발견하게 된다. 바로 멘사 회원들은 평범한 금고를 쓰지 않고 오른쪽 그림과 같은 금고를 사용한다는 점이다! www.acmicpc.net 문제 파악하기 N*N 행렬로 금고가 주어집니다. 금고는 버튼으로 구성되어 있으며, 모든 버튼을 누를 수 있는 위치를 찾아야 합니다. 모든 버튼은 항상 하나의 버튼만을 가리킵니다. 따라서 버튼 사이의 관계를 그래프로 나타낼 수 있습니다. 출력되는 결과는 총 3가지 입니다. 좌표를 출력하거나, "THIEF LOVE IT!"을 출력하거나 "TOO SAFE"를 출..