티스토리 뷰
괄호 ()가 잘 닫혀있는지를 체크하는 문제이다.
간단하게 stack으로 구현하면 될 듯 하다.
이번 문제도 화이팅 하자!
import sys
if __name__ == "__main__" :
# 데이터를 잘 받자!
N = int(sys.stdin.readline())
for i in range(N) :
# 데이터를 잘 받자, 이 문제에서 input에 space가 없으니까 안전하게 split()[0]
in_ = sys.stdin.readline().split()[0]
# 괄호를 stack 해서 넣었다 빼며 체크해보자
staack = []
# 일단 true로 가자 나는 성선설이 좋다
is_valid = True
for v in in_ :
if v == "(" :
staack.append(1)
else :
if len(staack) > 0 :
staack.pop()
else :
# 이 아이는 슬프게도 나쁜아이였다, 아니 나쁘게 자란건가.
# 가정환경이 이래서 중요하다.
is_valid = False
break
if len(staack) != 0 :
# 이 경우(=모든 character가 끝났는데 stacked 된 아이 가 남아있는)도 나쁜아이다
is_valid = False
print("YES" if is_valid else "NO")
- 이번 문제는 문제를 읽고 아 이거 stack으로 풀라는거구나! 하고 알면 금방 풀릴 문제였다.
- 고등학교때 수학문제 푸는거같다. 물론 난 수학 잘 못했다.
'coding skill' 카테고리의 다른 글
[백준][문제 풀기] 알고리즘 기초 1/2 - 1158 요세푸스 문제 (0) | 2022.03.11 |
---|---|
[백준][문제 풀기] 알고리즘 기초 1/2 - 1406 에디터 (0) | 2022.03.11 |
[백준][문제 풀기] 알고리즘 기초 1/2 - 1874 스택 수열 (0) | 2022.03.11 |
[백준][문제 풀기] 알고리즘 기초 1/2 - 9093 단어뒤집기 (0) | 2022.03.11 |
[백준][문제 풀기] 알고리즘 기초 1/2 - 10828 스택 (0) | 2022.03.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- dynamic programming
- 백준
- operation System
- Process vs Thread
- Memory
- computer science
- 카드구매하기
- 코딩연습
- heap
- 기술면접질문
- 백준10828
- Stack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함