반응형

파이썬 스택 3

[파이썬, Python] 백준 3986: 좋은 단어

문제 https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 코드 n = int(input()) cnt = 0 for _ in range(n): s = input() stack = [] for i in s: if stack and stack[-1] == i: stack.pop() else: stack.append(i) if not stack: cnt += 1 print(cnt) 설명 우선 n을 받아주고, 정답을 카운트할 cnt를 만들어준다. 그리고 n의 수만큼 ..

[파이썬, Python] 백준 10773: 제로

문제 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) num_list = [] for _ in range(n): num = int(input()) if num != 0: num_list.append(num) else: del num_list[-1] print(sum(num_list)) 설명 우선 수를 입력받아..

[파이썬, Python] 백준 10828: 스택

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

반응형