반응형
반응형
https://www.acmicpc.net/problem/1149 1149번: RGB거리첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나www.acmicpc.net난이도: solved.ac 실버 1 예제 1을 가지고 설명해보겠다 예제 1의 input을 표로 나타내면 아래와 같다 REDGREENBLUE1번2640832번4960573번138999 일단 dp 문제답게 n 번째까지의 합을 구할 때 n - 1 번째까지의 합을 이용할 건데, 내 풀이에서 핵심은 Red, Green, Blue를 일단 모두 칠해보고 그때의 각 최솟값을 구하는 것이다 여기서..
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 난이도: solved.ac 실버 3 우선 1부터 4까지의 수를 1, 2, 3의 합으로 나타내보자 1을 1, 2, 3의 합으로 나타내면 다음과 같다 1 = 1 (1가지) 2는 아래와 같다 2 = 1 + 1 = 2 (2가지) 3은 아래와 같다 3 = 1 + 1 + 1 = 2 + 1 = 1 + 2 = 3 (4가지) 4는 어떨까? 4 = 1 + 1 + 1 + 1 = 2 + 1 + 1 = 1 + 2 + 1 = 3 + 1 = 1 + 1 + 2 = 2 + 2 = 1 + 3 (7가지) 이미 눈치를 챈 사람도 ..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도: solved.ac 실버 2 학교 알고리즘 수업 시간에 배웠던 문제다 우선 내가 짠 코드는 아래와 같다 #define _CRT_SECURE_NO_WARNINGS #include int dp[100000]; int arr[100000]; int main() { int n, i; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &arr[i]); int max..
https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 난이도: solved.ac 실버 3 이전의 11726번 문제에 하나가 더 추가된 문제다 https://jangkunstory.tistory.com/28 [백준] 11726번: 2 x n 타일링 (C언어) https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사..
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 난이도: solved.ac 실버 3 대표적인 다이나믹 프로그래밍 알고리즘 문제다 우선 길이가 1일 때는 아래와 같이 세로로 세우는 방법 딱 한 가지만 존재한다 길이가 2일 때는 아래와 같이 두 가지만 존재한다 그리고 더 나아가 가로의 길이가 N인 상태를 보자 여기서 한 칸을 추가시키려면 아래의 방법 밖에 없다 그리고 두 칸을 추가시키기 위해서는 아래의 방법만 존재한다 아래의 방법은 길이가 N일 때 하나를 더 추가시키고..
https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 난이도: solved.ac 실버 2 그냥 우선순위 큐 구현 문제다 #define _CRT_SECURE_NO_WARNINGS #include #define HEAP_LEN 100001 #define TRUE 1 #define FALSE 0 typedef int PriorityComp(int d1, int d2); typedef struct _heap { PriorityComp* ..