본문 바로가기

python26

백준 1912번 : 연속합 링크 : https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) arr_sum = [0] * n arr_sum[0] = arr[0] for i in range(1, n): if arr_sum[i-1] > 0 : arr_sum[i] = arr_sum[i-1]+arr[i] else: arr_sum[i].. 2022. 1. 8.
백준 11053번 : 가장 긴 증가하는 부분 수열 링크 : 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 import sys input = sys.stdin.readline N = int(input()) A = list(map(int, input().split())) count = [1] * N for i in range(1, N): _list = [] for j in range(i): if A[i] > A[j]:.. 2022. 1. 8.
백준 9095번 : 1, 2, 3 더하기 링크 : https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) x_list= [] for _i in range(N): _x = int(input()) x_list.append(_x) x = 10 count = [[0 for i in range(x+1)] for j in range(3)] count[0] = [0] + [1 for i in range(0, x+1)] count[1][1] = count[2][1] = 1 for i in range(1, 3.. 2022. 1. 5.
백준 20300번 : 서강근육맨 링크 : https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) n = list(map(int, input().split())) n.sort() if N %2 ==0: M = n[0]+n[-1] for i in range(N//2): M = max(M, n[i]+n[-1-i]) else: M = n[-1] for i in range(N//2): M = max(M, n[i]+.. 2022. 1. 5.