하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (166차)
[4코1파] 2023.01.13~ (158일차)
[1스4코1파] 2023.04.12~ (69일차)
[1스4코2파] 2023.05.03 ~ (48일차)
2023.06.16 [166일차]
LeetCode Patterns
20. Valid Parentheses
https://leetcode.com/problems/valid-parentheses/description/
문제 설명
stack 으로 푸는 대표적인 문제이다.
프로그래머스에서도 상당히 많이 풀었었음..
유효한 괄호 형식인지 확인하는 문제임
문제 풀이 방법
톱밥문제이지만 풀다보니까 너무 길었네
video solution 보고 좀 더 깔끔하게 바꿨다 굿
내 코드
첫 코드
class Solution:
def isValid(self, s: str) -> bool:
char_dict = {')':'(', ']':'[', '}':'{'}
stack = []
for string in s:
if not stack:
if string not in ['(','[','{']:
return False
if string in ['(','[','{']:
stack.append(string)
else:
if stack[-1]==char_dict[string]:
stack.pop()
else:
return False
return True if not stack else False
좀 더 깔끔하게 푼 것
class Solution:
def isValid(self, s: str) -> bool:
pDict = {"}":"{", "]":"[", ")":"("}
stack = []
for string in s:
if string in pDict:
if stack and stack[-1] == pDict[string]:
stack.pop()
else:
return False
else:
stack.append(string)
return True if not stack else False
증빙
처음에 덕지덕지 코드로 푼거구욘
이게 video solution
메모리 측면에서 video solution이 더 낫네
ㅇㅋ
여담
낼 월요일 실화냐 월요일 멈춰
break 없는 주말 while 문에 빠지고 싶다