본문 바로가기

Python3

[백준] Python 9012 괄호 https://www.acmicpc.net/problem/9012 다음 괄호 문제는 스택을 이용하여 풀면 될꺼같아서 스택을 만들어 "("일때는 스택에 추가 아닐경우 스택에 "("가있는지 확인후 없다면 NO 있으면 계속 넘어가면서 체크하는 방향으로 코드를 작성하였습니다. import sys n = int(input()) for i in range(n): ps_list = input() stack = [] check = True for j in ps_list: if len(stack) == 0: if j == '(': stack.append(j) else: print("NO") check = False break elif j == '(': stack.append(j) elif stack.pop() != "(.. 2023. 1. 7.
[백준] 10773 Python 다음 문제는 스택을 활용 해보고자 하는 문제입니다. 입출력은 다음과 같으며 처음 K라는 숫자를 입력받고 k만큼 재입력을 받습니다. 숫자가 0이 아닐경우 숫자만큼 장부에 등록된 금액이 됩니다. 0일경우 이전에 장부에 등록된 값이 잘못된 값이라는 뜻으로 지우게 됩니다. 이 부분은 FILO으로 스택을 적용하여 풀이를 해보았습니다. import sys k = int(sys.stdin.readline()) stack = [] for i in range(k): money = int(sys.stdin.readline()); if(not money): stack.pop() else: stack.append(money) print(sum(stack)) 1. k를 입력 받습니다. 2. stack으로 사용할 리스트를 선언하.. 2022. 10. 25.
[자료구조] 파이썬 Stack Stack이란 Last In Frist Out(LIFO) 방식: 가장 나중에 넣은 데이터가 가장 먼저 빼낼 수 있는 데이터구조 python에서는 list로 구현이 되어있다. list사용법 a_list.append(1): 요소를 리스트 맨 뒤에 넣는다. a_list = [1,2,3] a_list.append(1) => [1,2,3,1] a_list.pop(): 리스트의 맨 뒤의 요소를 꺼내고 리스트에서 삭제한다. a_list = [1,2,3] a_list.pop() => [1,2] Stack구현 class Stack: #리스트를 이용한 스택 구현 def __init__(self): self.top = [] #스택 크기 반환 def __len__(self) -> bool : return len(self.to.. 2022. 10. 25.