일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 강의자료
- Deep learning
- Natural Language Processing with PyTorch
- AI
- rnn
- pytorch
- BAEKJOON
- 알고리즘
- DynamicProgramming
- 백준
- 강의정리
- 스택
- loss
- MSE
- Cross entropy
- DP
- 자연어처리
- 파이토치
- machine learning
- Python
- tensorflow
- 딥러닝
- 머신러닝 기초
- Softmax
- 파이썬
- 정렬
- classifier
- 홍콩과기대김성훈교수
- Hypothesis
- 머신러닝
- Today
- Total
목록DP (9)
개발자의시작
문제링크 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 www.acmicpc.net 문제 풀이 이번 문제는 계단 오르기 등의 문제와 유사하며 DP를 활용하면 쉽게 해결할 수 있는 문제입니다. 배열에 삼각형 모양..
문제링크 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net 문제 풀이 이친수(pinary number)에 관한 문제입니다. 이친수는 아래의 두가지 성질을 만족합니다. 이친수는 0으로 시작하..
문제링크 https://www.acmicpc.net/problem/1149 1149번: RGB거리 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, 첫 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 전형적인 DP문제입니다. 세 가지 색상을 가지고 있으며, 이웃집(i-1, i+1)과 같은 색을 가질 수 없는 조건이 주어진 문제입니다. 다양한 접근 방법이 있을 수 있지만 저..
문제링크 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀이 이번 문제 역시 DP로 풀기 좋은 문제입니다. 2xn 크기의 직사각형을 1x2 도형과 2x1도형을 사용하여 채우는 방법의 경우의 수를 구하는 문제입니다. 염두하여야 할 것은, 2xn 직사각형을 채울 때 2x1크기의 도형은 계속해서 쌓을 수 있지만 1x2크기의 도형은 두 개가 합쳐질 경우 2x2도형으로 만들어 쌓아야 하는 것입니다. 점화식을 유도하기 앞서 경우를 나열해보겠습니다. 설명의 편의를 위해 ..
문제링크 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 www.acmicpc.net 문제 풀이 가장 전형적인 DP문제가 아닌가 생각됩니다. 각 계단에 도달할 때의 점수를 DP에 저장하는 방식으로 풀면 될 것 같습니다. 이 문제는 ..
문제링크 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 풀이 문제를 보자마자 딱 DP로 풀어야 할 것 같은 감이 드는 문제입니다. 반복 또는 재귀로 피보나치 함수를 구현하는 문제는 많이들 해보셨을 것 같습니다. 이 문제는 그중에서도 피보나치 함수의 재귀 호출 횟수를 계산하는 문제입니다. 피보나치 함수의 재귀 호출 자체가 DP가 되겠네요. 먼저 아래에 문제의 경우의 수를 표현해 보겠습니다. 인자가 0인 경우와 1인 경우는 미리 갖고 있는 것으로 가정하며, 맨 오른쪽 항에 있는 리스트 안에 숫자는 각각 Fibonacci(0)을 호출하는 ..
문제링크 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 www.acmicpc.net 문제 풀이 DP로 풀면 효과적으로 풀 수 있는 문제입니다. 정수 4를 1, 2, 3의 합으로 나타내는 방법의 수를 구..
문제링크 https://www.acmicpc.net/problem/18187 18187번: 평면 분할 무한한 크기의 이차원 평면에, 여러분은 최대 N개의 직선을 그릴 수 있다. 여러분은 기울기가 -1, 0, 1인 직선만 그릴 수 있다. 직선을 이용하여 평면을 최대 몇 개의 영역으로 분할할 수 있는지 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 좋아하는 TV 프로그램인 문제적남자에서 비슷한 문제를 본 적이 있는 것 같네요. 차이가 있다면 기울기가 -1, 0, 1인 직선만 그릴 수 있는 조건이 있습니다. 일단 저는 그리디로 접근했다가 DP로 풀이했습니다. 직선 개수를 늘려가면서 규칙을 찾았습니다. 직선 개수 분할된 면의 수 증가하는 개수 직선이 만나는 점의 수 1 2 +2 0 2 4..