스택 5

[프로그래머스] 택배 배달과 수거하기 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 더보기 내 코드 def solution(cap, n, deliveries, pickups): answer = 0 while deliveries and deliveries[-1] == 0: deliveries.pop() while pickups and pickups[-1] == 0: pickups.pop() while deliveries or pickups: a, b = cap, ..

프로그래머스 2023.07.28

[프로그래머스] 올바른 괄호 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 답안 def solution(s): stack = [] for i in s: if i == '(': stack.append(i) else: if len(stack) == 0: return False else: stack.pop() if len(stack) != 0: return False else: return True Review 이 문제는 백준 9012 번 문제와 같다. https://th..

프로그래머스 2022.09.12

백준 1935번 후위 표기식 2 파이썬

https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 내 답안 import sys input = sys.stdin.readline N = int(input()) x = input().rstrip() stack = [] # 피연산자 바로 추가할 리스트 생성 dic = {} # 딕셔너리 생성 keys = sorted(list(set([i for i in x if i.isalpha()]))) # 후위연산자에서 변수만 뽑아내기 values = [..

BOJ/Python 2022.03.14

백준 9012번 괄호 파이썬

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net for i in range(int(input())): result = 0 for j in input(): if j == '(': result += 1 else: # j = ')'일때 result -= 1 if result < 0:# 결과가 음수로 되는 순간 끝 break if result == 0: print("YES") else: print("NO") 처음 코드를 ..

BOJ/Python 2022.01.16

백준 10828번 스택 파이썬

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys stack = [] for i in range(int(sys.stdin.readline())): x = sys.stdin.readline().split() if x[0] == 'push': x[1] = int(x[1]) stack.append(x[1]) elif x[0] == 'pop': if len(stack) > 0: print(stack.pop()) el..

BOJ/Python 2021.10.26