공부하고 기록하는, 경제학과 출신 개발자의 노트

DP 4

[Python] 백준 2156. 포도주 시식

www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net DP문제. 점화식은 잘 구했는데, 점화식에 맞춰서 arr를 생성하는 과정에 또 시간소모가 심했다. table[i] = i번째 위치에서 마실 수 있는 최댓값이라고 정의하면 i-1번째와 i-2번째 둘 다 마신 경우 = i번째 위치를 마실 수 없으므로 table[i-1] i-1번째를 마시지 않은 경우 = table[i-2] + arr[i] i-2번째를 마시지 않은 경우 = table[i-3] + arr[i-1] + a..

[Python] 프로그래머스. 최적의 행렬 곱셈 (Level 4)

programmers.co.kr/learn/courses/30/lessons/12942 코딩테스트 연습 - 최적의 행렬 곱셈 크기가 a by b인 행렬과 크기가 b by c 인 행렬이 있을 때, 두 행렬을 곱하기 위해서는 총 a x b x c 번 곱셈해야합니다. 예를 들어서 크기가 5 by 3인 행렬과 크기가 3 by 2인 행렬을 곱할때는 총 5 x 3 x 2 = programmers.co.kr DP문제. 이전에 풀었던 백준 파일합치기 문제와 로직은 동일하다. [Python] 백준 11066. 파일 합치기 https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장..

[Python] 백준 11066. 파일 합치기

https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 �� www.acmicpc.net 문제 자체도 난해한데, Python3의 느린 연산속도 때문에 시간초과까지 겹쳐서 푸는 데 정말 오래 걸렸다. 이 풀이는 PyPy3으로만 통과하며, Python3으로는 시간초과가 난다. C++이나 Java의 로직으로는 통과하지만... 전제: '인접한 페이지'끼리만 합칠 수 있다. 문제의 예시라면, C2와 C4를 바로 합치는 건 불가능하고, C2 + (C3 + C4) 또는 (C2 + C3..

[Python] 백준 9461. 파도반 수열

https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 � www.acmicpc.net DP문제. 그림 덕분에 쉽게 점화식이 유추 가능하다. n번째 삼각형 = n-1번째 삼각형 + n-5번째 삼각형이므로 table[n] = table[n-1] + table[n-5] 형태의 함수를 구현하면 된다.