Algorithm/Baekjoon 30

[백준] 2225 합분해 파이썬 python

문제링크 https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import sys input = sys.stdin.readline n,k = map(int,input().split()) mod = 1000000000 d=[[0]*(k+1) for _ in range(n+1)] for i in range(n+1): for j in range(1,k+1): if i==0: d[i][j]=1 else: d[i][j] = (d[i-1][j]+d[i][j-1])%mod print(d[-1][-1]) Colored b..

Algorithm/Baekjoon 2022.02.16

[백준] 14501 퇴사 파이썬 python

문제링크 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 코드 1) 브루트포스 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 from ast import AnnAssign import sys input = sys.stdin.readline n = int(input()) day = [0]*n pay = [0]*n ans = 0 for i in range(n): day[i], pay[i] = list(map(int, input().split())) def go(d, tot): global ans if d==n: #..

Algorithm/Baekjoon 2022.02.15

[백준] 1699 제곱수의 합 파이썬 python

문제링크 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import sys input = sys.stdin.readline n = int(input()) d = list(range(100001)) for i in range(4,n+1): if int(i**(1/2))**2 == i: d[i] = 1 pass tmp = d[i] f..

Algorithm/Baekjoon 2022.02.14

[백준]1912 연속합 파이썬 python

문제링크 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 import sys input = sys.stdin.readline n=int(input()) a = list(map(int, input().split())) d = a.copy() for i in range(1,n): if d[i]

Algorithm/Baekjoon 2022.02.14

[백준]11053 가장 긴 증가하는 부분 수열 14002 가장 긴 증가하는 부분 수열 4 파이썬 얕은 복사 python

문제링크 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 ..

Algorithm/Baekjoon 2022.02.09

[백준]2193 이친수 파이썬 python

문제링크 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 import sys input = sys.stdin.readline n = int(input()) d = [[0]*2 for _ in range(91)] d[1] = [0,1] for i in range(2,n+1): d[i][0] = d[i-1][0]+d[i-1][1] d[i][1] = d[i-1][0] print(sum(..

Algorithm/Baekjoon 2022.02.09

[백준]10844 쉬운 계단 파이썬 python

문제링크 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import sys input = sys.stdin.readline n = int(input()) d = [[0]*10 for _ in range(101)] d[1] = [0,1,1,1,1,1,1,1,1,1] for i in range(2,n+1): for j in range(0,10): if j ==0: d[i][j] = d[i-1][j+1] elif j==9: d[i][j] = d[i-1][j-1] else: d[i][..

Algorithm/Baekjoon 2022.02.08

[백준]15990 1, 2, 3더하기 5 파이썬 python

문제링크 https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import sys input = sys.stdin.readline mod=1000000009 MAX = 100001 d = [[0]*4 for _ in range(MAX)] d[1]=[0,1,0,0] d[2]=[0,0,1,0] d[3]=[0,1,1,1] for i in range(4,MAX): d[i][1] = (d[i-1][2]+d[i-1][3])%mod ..

Algorithm/Baekjoon 2022.02.07

[백준]11052 카드구매하기 16194 카드구매하기2 파이썬 python

문제링크 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 import sys impor..

Algorithm/Baekjoon 2022.02.06

[백준]9095 1, 2, 3 더하기 파이썬 python

문제링크 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sys input = sys.stdin.readline t = int(input()) for i in range(t): n = int(input()) d = [0]*12 d[1] = 1 d[2] = 2 d[3] = 4 if n>3: for i in range(4,n+1): d[i] = d[i-1]+d[i-2]+d[i-3] print(d[n]) Colored by Color Scripter cs Point - 다..

Algorithm/Baekjoon 2022.02.05