목록코딩 테스트 (121)
공부 기록장
https://www.acmicpc.net/problem/11728 코드첫 번째 풀이 : 유형을 생각하지 않은, 처음 떠올린 풀이import heapqfrom collections import dequen, m = map(int, input().split())a = deque(list(map(int, input().split())))b = deque(list(map(int, input().split())))answer = []while a: heapq.heappush(answer, a.popleft())while b: heapq.heappush(answer, b.popleft())for _ in range(len(answer)): print(heapq.heappop(answer), en..
https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 코드 N = int(input()) dp = [1] * N lines = sorted([list(map(int, input().split())) for _ in range(N)], key = lambda x : x[0]) for i in range(N): for j in range(i): if lines[i][1] > lines[j][1]: dp[i] = max(dp[i], dp[j] + 1) print..
https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 코드 T = int(input()) for _ in range(T): n = int(input()) dp = [] for _ in range(2): dp.append(list(map(int, input().split()))) if n == 1: print(*max(dp)) elif n > 1: dp[0][1] += dp[1][0] dp[1][1] += dp[0][0] for i in r..
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 코드 N = int(input()) dp = [[0] * 10 for _ in range(N)] dp[0] = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1] for n in range(1, N): dp[n][0] = dp[n-1][1] # 끝에서 두 번째 수가 1이어야, 마지막 자리수가 0일 수 있음 dp[n][9] = dp[n-1][8] # 끝에서 두 번째 수가 8이어야, 마지막 자리수가 9일 수 있음 for k in range(1, 9): dp[n][k] = dp[n-1][k+1] + dp[n-1]..