본문 바로가기
반응형

알고리즘250

[백준][Python] 2800번 괄호 제거 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 코드 from itertools import combinations inp = list(input()) stack = [] cnt = 0 com_list = [] answer = [] for i in range(len(inp)): if inp[i] == "(": stack.append([inp[i],i]) cnt = 0 elif inp[i] == ")": if cnt == 0: a = stack[-1][1] stack.pop() .. 2022. 2. 11.
[백준][Python] 2493번 탑 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 코드 import sys n = int(input()) tower = list(map(int,sys.stdin.readline().split())) stack = [] ans = [] for i in range(n): while stack: if stack[-1][0] < tower[i]: stack.pop() else: break if stack: ans.append(stack[-1][1]) else: ans.append(0) stack.append([tow.. 2022. 2. 10.
[백준][Python] 2346번 풍선 터뜨리기 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 코드 n = int(input()) inp = list(map(int, input().split())) index = 0 in_list = [] result = [] for i in range(1,n+1): in_list.append(i) num = inp.pop(index) # 풍선 안에 적혀있는 숫자 result.append(in_list.pop(index)) while inp: if num < 0: index = (index + num) .. 2022. 2. 10.
[백준][Python] 2504번 괄호의 값 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 코드 inp = list(input()) stack = [] error = 1 for i in inp: if i == "(": stack.append(i) cnt = 0 # 괄호가 ()와 같이 연속으로 나오는지 확인하는 변수 elif i == ")": num = 0 while len(stack) != 0: a = stack.pop() if a == "(": if cnt == 0: # ()인 상황 stack.append(2) cnt = 1 error = 0 el.. 2022. 2. 10.
반응형