본문 바로가기

전체 글120

백준 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.
Part4 - chapter02 : 알고리즘과 코딩(수정전) 01. 알고리즘 [알고리즘] 알고리즘의 정의 알고리즘 : 주어진 문제를 해결하기 위해 잘 정의된 동작의 유한 집합 어떤 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화 한 형태로 표현한 것 알고리즘이 갖추어야 할 조건 입력 : 외부에서 입력되는 자료가 0개 이상 존재 출력 : 출력이 적어도 1개 이상의 결과가 있어야 함 명확성 : 명령어들은 명확하고 모호하지 않아야 함 유한성 : 명령어들은 유한 번의 수행 후 종료되어야 함 유효성 : 모든 명령들은 명백하고 실행 가능한 연산들이여야 함 알고리즘을 분석하는 판단 기준 정확성 : 알고리즘이 정확한지, 입력에 대해 정확한 출력이 되는지 나타내는 기준 간결성 : 표현이 간단하고 읽기 쉽고 이해가 용이한지의 기준 작업량 : 명령어의 실행 횟수로 평균과 최.. 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.