본문 바로가기

Problem Solving94

[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.
[Stack] 4949 균형잡힌 세상 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net #2023.01.03 import sys input = sys.stdin.readline while(1): word = input().rstrip() if word=='.': break answer=0 stack=[] for i in word: if i=="(" or i=="[": stack.append(i) elif i==")": if len(stack)==0: answer.. 2023. 1. 3.
[Brute Force] 7568 덩치 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net # 2023.01.02 import sys input = sys.stdin.readline n = int(input()) body = [list(map(int, input().split())) for _ in range(n)] for i in range(n): cnt=1 for j in range(n): if body[i][0] 2023. 1. 3.