Python

개발공부/algorithm

[백준][python] 1915.가장큰정사각형 - DP

백준 1915 가장 큰 정사각형 Gold V python 문제링크 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 풀이 import sys input = sys.stdin.readline N, M = map(int, input().split()) s = [[0 for i in range(M + 1)]] for i in range(n): s.append([0] + list(input().strip())) dp = [[0] * (M + 1) for i in range(N + 1)] res = 0 for i in range(N + 1): for j in range(M + 1): if ..

개발공부/algorithm

[백준][python] 12865.평범한 배낭 - DP

백준 12865 평범한 배낭 Gold V 문제링크 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 나의 코드 첫 접근은 배낭의 무게와 가치를 tuple에 저장하고, 최대 무게 안에서 존재할 수 있는 여러 물건의 가치의 합을 찾아냈다. Brute Force에 가까운 접근이었기 때문에 여러 반례들을 통과하지 못하고.. 그냥 틀려버렸다 ㅠㅠ 런타임 에러도 아니고 그냥 틀림.. 생각해보니 0-1 문제이기 때문에 당연히 DP로 푸는 것이었다. 그래서 동적..

개발공부/algorithm

[백준][python] 1932.정수삼각형 - DP

백준 1932.정수삼각형 Silver I 문제링크 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 나의 코드 이 문제 역시 동적계획법을 통해 풀었다. N개의 list가 주어지는데, 들어오는 list의 한 element마다 그 전의 list의 left, right value 중 더 큰 값을 더해주었다. 마지막 list에서 가장 큰 숫자를 리턴해주면 된다. Index out of range 에러가 뜨지 않기 위해 첫 번째 원소 값과 마지막 원소 값에 대한 조건 처리 역시 해주어야 한다. import sys N = int(sys.stdin.readline()) lsts = [] for ..

so.py
'Python' 태그의 글 목록 (16 Page)