Loading...

[Leetcode] 20. valid parentheses (python, easy)

올바른 괄호 문자열 판별 1. 짝이 맞아야 한다 2. 여는 괄호없이 닫는 괄호가 들어갈 수 없다 3. 모든 괄호가 닫히지 않았다 (여는 괄호가 닫는 괄호보다 더 많음) class Solution: def isValid(self, s: str) -> bool: p={')':'(','}':'{',']':'['} stack=[] for c in s: if c==')' or c=='}' or c==']': if not stack or stack[-1]!=p[c]: return False stack.pop() else: stack.append(c) if stack: return False return True

[백준 1918번 ] 후위 표기식 (stack, python)

www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net import sys from math import sqrt input=sys.stdin.readline d={'*':2,'/':2,'+':1,'-':1,'(':0,')':0} q=[] s=input().strip() for x in s: # 알파벳 출력 if x not in d: print(x,end='') #왼쪽 괄호 elif x=='(': q.append(x) # 오른쪽 괄호시 왼쪽 괄호 나올때까지..

[프로그래머스] 짝지어 제거하기 (파이썬, javascript)

o(n) 시간 안에 해결해야 되는 문제들을 잘 못 푸는데 이런 방법이 있다는 것을 알았다 여기저기 쓰일 것 같으니 잘 봐놔야지 1. 파이썬 풀이 def solution(s): answer = [] for i in range(len(s)): if len(answer)==0: answer.append(s[i]) elif answer[-1]==s[i]: answer.pop() else: answer.append(s[i]) if len(answer): return 0 else: return 1 2. javascript function solution(s) { var answer = 0; const stack=[]; for(let i=0;i