일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- level3
- BFS
- level0
- N과M
- 운영체제
- python
- 딕셔너리
- 힙
- 스택
- 코딩테스트
- 백준
- DP
- MYSQL
- programmers
- dict
- 프로그래머스
- 수학
- 그리디
- level1
- 가상메모리
- BOJ
- 가상메모리 관리
- 재귀
- 브루트포스
- 다익스트라
- 파이썬
- 구현
- 다이나믹 프로그래밍
- dfs
- level2
- Today
- Total
목록파이썬 (259)
동캄의 코딩도장
https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net n = input() zeroCnt = 0 oneCnt = 0 i = 0 while i < len(n): if n[i] == '0': zeroCnt += 1 while i+1 < len(n) and n[i+1] == '0': i += 1 else: oneCnt += 1 while i+1 < len(n) and n[i+1] == '1': i += 1 i += 1 print(min(zeroCnt, o..
https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) lst = list(map(int, input().split())) lst.reverse() dp = [1]*(N) for i in range(N): for j in range(i): if lst[i] > lst[j]: dp[..
https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) lst = list(map(int, input().split())) dp = [] for i in range(len(lst)): dp.append(lst[i]) for i in range(N): for j in range(i): if lst[..
https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) for _ in range(N): n = int(input()) lineO = list(map(int, input().split())) lineT = list(map(int, input().split())) dp = [[0]*(n) for _ in range(2)] dp[0][0] = li..
https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net import math n = int(input()) print(math.comb(9+n, n) % 10007) 중복조합을 사용하면 쉽게 풀 수 있다. n=int(input()) s=[[0]*10 for i in range(1001)] for i in range(10): s[1][i]=1 for i in range(2,1001): for j in range(10)..
https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net import sys input = sys.stdin.readline T = int(input()) dp = [0]*(1000001) dp[1] = 1 dp[2] = 2 dp[3] = 4 for k in range(4, 1000001): dp[k] = (dp[k-1]+dp[k-2]+dp[k-3]) % 1000000009 for _ in range(T): n = int(input()) print(dp[n]) 문제에서 1+2 와 2+1을 다른 경우라고 ..