일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다익스트라
- 가상메모리 관리
- 재귀
- 그리디
- 구현
- 가상메모리
- programmers
- 딕셔너리
- 브루트포스
- 프로그래머스
- level2
- BFS
- dict
- python
- N과M
- MYSQL
- level0
- level3
- 수학
- DP
- BOJ
- 코딩테스트
- dfs
- 파이썬
- 힙
- 다이나믹 프로그래밍
- level1
- 백준
- 운영체제
- 스택
- Today
- Total
목록백준 (157)
동캄의 코딩도장
https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #15655 n,m=map(int,input().split()) lst=list(map(int,input().split())) lst.sort() s=[] def dfs(): if len(s)==m: print(' '.join(map(str,s))) return for i in lst: if i in s : continue if len(s)==0: s.append(i) dfs() s.po..
https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #15654 n,m=map(int,input().split()) lst=list(map(int,input().split())) lst.sort() s=[] def dfs(): if len(s)==m: print(' '.join(map(str,s))) return for i in lst: if i in s : continue s.append(i) dfs() s.pop() dfs() lst를..
https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #15652 n,m=map(int,input().split()) s=[] def dfs(): if(len(s)==m): print(' '.join(map(str,s))) return for i in range(1,n+1): if len(s)==0: s.append(i) dfs() s.pop() elif len(s)!=0 and s[len(s)-1]
https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #15650 n,m=map(int,input().split()) s=[] def dfs(): if(len(s)==m): print(' '.join(map(str,s))) return for i in range(1,n+1): if len(s)==0: s.append(i) dfs() s.pop() elif len(s)!=0 and s[len(s)-1]
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #15649 n,m=map(int,input().split()) s=[] def dfs(): if len(s)==m: print(' '.join(map(str,s))) return for i in range(1,n+1): if i in s: continue s.append(i) dfs() s.pop() dfs()
https://www.acmicpc.net/problem/14606 14606번: 피자 (Small) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net #14606 n=int(input()) dp=[0]*(n+1) for i in range(1,n+1): for _ in range(1,i+1): dp[i]=dp[i//2]+dp[i-i//2]+(i//2)*(i-i//2) print(dp[n]) 1부터 시작해서 n까지 DP 값을 갱신해나간다. i번째 값은 (i//2 박스를 나눌 때의 즐거움) + (i-i//2 박스를 나눌 때의 즐거움) ..