- dp 알고리즘
- 코테
- 백준 dp
- 코테 연습
- 프로그래머스
- 스프링 기초
- 프로그래머스 전화번호 목록 파이썬
- 코딩테스트 연습
- 프로그래머스 레벨2
- 코딩테스트
- Django 기초
- 알고리즘 문제
- 백준 다이나믹프로그래밍
- 백준
- 프로그래머스 고득점 kit
- 바닥장식 파이썬
- 스프링 초보
- 프로그래머스 알고리즘 고득점 kit
- Spring 초보
- 알고리즘 공부
- 프로그래머스 레벨1
- spring 기초
- 전화번호 목록 python
- 백준 바닥장식 python
- Django
- programmers
- 프로그래머스 level1
- 프로그래머스 전화번호 목록 python
- 장고 기초
- 장고
- Today
- Total
목록백준 (5)
일일구름 IT
문제 코드 n, k = map(int, input().split()) coin = [] for i in range(n): coin.append(int(input())) sum = [0 for i in range(k+1)] sum[0] = 1 for i in coin: for j in range(i, k+1): sum[j] += sum[j-i] print(sum[k]) 예제의 경우로 설명해보면, 동전 1만 선택했을 경우, 동전 1, 2원 중에서 선택한 경우, 동전 1, 2, 5원 중에서 선택한 경우를 차례로 구한다. sum[0]에 1을 넣어준 이유는 j원이 되는데 i원 1개만 선택해도 되는 경우를 고려한것입니다. (j == i인 경우) sum[j] += sum[j-i] 코드는 동전 i원을 뺀 값이 되는 경..
https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net [문제] [내 코드] n = int(input()) tri = [] for i in range(n): tri.append(list(map(int, input().split()))) for i in range(n-2, -1, -1): for j in range(i+1): tri[i][j] = max(tri[i+1][j], tri[i+1][j+1]) + tri[i][j] print(tri[0][0]) 맨 아래에서 두 번째 줄 숫자부터 대각선 왼쪽, 오른쪽 아래 중에 더 큰..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net [문제] [틀린 코드] n = int(input()) num = list(map(int, input().split())) arr = [] for i in range(1, n): for j in range(0, n-i): arr.append(sum(num[j:(j+i)])) print(max(arr)) 처음에는 리스트 슬라이싱을 이용해서 모든 경우를 구한 뒤 가장 합이 큰 경우를 출력하였다. 이렇게 문제를 푸..
이미 학교에서 배운 부분이지만 오랜만에 코딩을 하려고 하니 기억이 안났다. DFS, BFS는 다른 문제를 풀기 위해서도기본적이고 중요한 개념라고 생각하여 이 문제를 먼저 풀게 되었다. [문제] 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. [내 코드] # DFS n, m, v = map(int, input().split()) graph = [[] for i in range(n+1)] visited = [False] * (n+1) for j in range(1, m+1): a, b = map(..
문제 : 블랙잭 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어..