본문 바로가기

분류 전체보기134

[Greedy] 1931 회의실 배정 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net # 2023.01.04 import sys input = sys.stdin.readline n = int(input()) time = [list(map(int, input().split())) for _ in range(n)] time.sort(key=lambda x: (x[1], x[0])) # print(time) endtime = time[0][1] # 회의가 끝나는 시간 index=1 for i in range(1, n): if endtime 2023. 1. 4.
[문법] Problem Solving을 하면서 필요한 Python기본 문법 # 파이썬 문법 import sys input = sys.stdin.readline # ————————————————————————— # 한 줄에 여러개의 값 받아오기 (띄어쓰기로 값 구분) N개의 줄을 받아오기 A=[list(map(int, input().split())) for _ in range(N)] # 한 줄에 여러 개의 값 받아오기(띄어쓰기로 값 구분) 1개의 줄만 받아오기 array=list(map(int, input().split())) # 한 줄에 여러 개 받아오기(띄어쓰기 없음) N개의 줄 받아오기 video = [list(map(int,input().strip())) for _ in range(N)] # ————————————————————————— # 각 자리수의 합 s = sum(.. 2023. 1. 4.
[DP] 1912 연속합 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net # 2023.01.04 import sys input = sys.stdin.readline n = int(input()) number = list(map(int, input().split())) dp = [0]*(n) dp[0]=number[0] for i in range(1, n): dp[i]+=(max(dp[i-1], 0)+number[i]) print(max(dp)) dp table을 이용 dp[i]의.. 2023. 1. 4.
[Stack] 1874 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) find = [] for i in range(n): find.append(int(input())) stack = [] # 임의의 스택 number = [i for i in range(1, n+1)] # 1~n까지의 수 .. 2023. 1. 3.