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 소스 코드 n = int(input()) arr = list(map(int,input().split())) dp = [1] * n # dp 테이블 초기화 for i in range(1, n): # 2번째 원소부터 for j in range(0, i): # 그 이전 원소들과 비교하여 if arr[i] > arr..
문제 링크 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 소스 코드 from collections import deque c = int(input()) graph = [[] for _ in range(c+1)] n = int(input()) for i in range(n): # 양방향 간선 추가 a,b = map(int,input().split()) graph[a].append(b) graph[b].append(a) # 이 문제에서는 정렬 불필요해..
문제 링크 https://www.acmicpc.net/problem/1195 1195번: 킥다운 첫 줄에는 첫 번째 기어 파트를 나타내는 1과 2로 구성된 문자열이 주어진다. 두 번째 줄에는 마찬가지로 두 번째 기어 파트를 나타내는 1, 2로 구성된 문자열이 주어진다. 여기서 1은 홈을, 2는 www.acmicpc.net 소스 코드 a = input() b = input() answer = len(a) + len(b) # 최악의 경우 # 길이가 긴 것을 a, 짧은 것을 b로 설정 if len(a) < len(b): a,b = b,a gap = len(a) - len(b) # 길이가 짧은 것이 왼쪽에 길게 늘어지는 경우 # 000002112112112 # 221211200000000 for zero in ..
문제 링크 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 소스 코드 question = input() stack = [] answer = 0 for idx in range(len(question)): if question[idx] == '(': # 열린 괄호는 추가 stack.append('(') else: # 닫는 괄호의 경우 stack.pop() if question[idx-1] == '(': # 레이저인 경우 answer += len(stack) ..
문제 링크 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 소스 코드 from collections import deque n,m,v = map(int,input().split()) graph = [[] for _ in range(n+1)] for i in range(m): # 양방향 간선이므로 둘 다 그래프에 추가 a,b = map(int,input().split()) graph[a].append(b) g..
문제 링크 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 소스 코드 k = int(input()) switches = list(map(int,input().split())) n = int(input()) for i in range(n): sex,num = map(int,input().split()) # 성별,숫자 입력 if sex == 1: # 남자인 경우 for j in range(num-1,k//num*num,num): # 배수 인덱..
chanmuzi
'Python' 태그의 글 목록