본문 바로가기

Algorithm37

백준 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.
백준 20115번 : 에너지 드링크 링크 : https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net N = int(input()) n = input() x = n.split(' ') drink_list = [] for i in range(len(x)): x_i = int(x[i]) drink_list.append(x_i) drink_list.sort() len = len(drink_list) drink_max = drink_list[len-1] for i in range(len-1): .. 2022. 1. 5.