본문 바로가기
728x90
반응형

Dynamic Programming16

2022.02.07 [백준] C# 계단 오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 풀이 이 코드를 작성할 때, 계속 런타임에러가 발생하여 포기할뻔했다..... 44~46번째 줄에 n = 1일 때를 고려하지 않고 if문을 넣지 않아 런타임 에러가 발생한 거였다...ㅋㅋ 항상 코드 꼼꼼히 확인하기!! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 4.. 2022. 2. 7.
2022.02.07 [백준] C# 정수 삼각형 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 이 문제는 j = 0(왼쪽 끝)일 때와, 0 < j < i(중간에 위치할 때), j = i(오른쪽 끝)에 위치할 때 3가지 조건으로 생각하고 해결했습니다. 수가 삼각형의 변에 위치하면 자신의 위 값과 자신을 더해주고, 수가 중간에 위치하면 대각선 위의 수 중, 큰 수와 자신을 더해주면서 끝까지 내려 왔고, max함수를 이용해 그 중, 최대값을 구했습니다. 아래의 코드는 각 층의 수를 저장한 triangle함수의 배열 값에 바로 더하는 방식으로 풀었습니다. 1 2 .. 2022. 2. 7.
2022.02.06 [백준] C# RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 풀이 이 문제는 이전의 집과 같은 색으로 칠하지 않으면서 최소한의 비용으로 칠할 때 총 비용을 구하는 문제이다. 모든 경우의 수를 따져 가면서 이미 거친 경우를 다시 계산하지 않기 위해 메모이제이션을 이용하여 각 경우의 수마다 배열에 저장하였다. a가 0일 때, 첫 집을 칠할때의 각 색의 가격이 totalCost가 된다. 그 다음부터 각 컬러의 상황에서 이전 집을 칠할때의 최.. 2022. 2. 6.
2022.02.06 [백준] C# 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 풀이 이 문제는 먼저 수열의 규칙을 찾아야 합니다. 우선 7번째의 삼각형인 4를 보면 2번째의 1과 6번째의 3의 변이 합쳐서 만들어진것을 확인할 수 있습니다. 또한 9번째의 7을 보면 8번째의 5와 4번째의 2가 합쳐져서 7이 되었죠! 그래서 저는 f(n) = f(n-1) + f(n-5)라는 식을 세웠고 이 식을 bottom-up방식을 사용하여 코드를 작성하였습니다. 처음 배열과 리턴형을 int로 해.. 2022. 2. 6.
728x90
반응형