올바른 괄호-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]

2022. 11. 4. 17:47·Algorithm, 코딩테스트
728x90
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


풀이

def solution(s):
    stack=[] # 열린 상태로 닫히지 않는 괄호가 들어 있는 스택
    for i in s:
        if i=='(':
            stack.append(i) # 스택에 추가
        elif len(stack)<=0: # 닫는 괄호가 열린 괄호보다 많을 경우
            return False
        else:
            stack.pop()
    if len(stack)>0: # 모든 문자를 순회했을 때 열린 상태로 닫히지 않은 괄호가 남아 있을 경우
        return False
    return True

Tip

  • 스택을 이용하여 풀 수 있다. (참고로, 파이썬에서는 스택 자료구조가 따로 없고, 리스트를 이용하여 스택처럼 활용한다.)
  • 여는 괄호가 나올 때마다 스택에 넣어주고, 닫는 괄호가 나올 때마다 스택에 있는 원소를 빼주는 과정을 실행했을 때, 중간에 원소를 빼주는 과정에서 스택의 원소가 부족한 경우가 있거나(닫는 괄호가 열린 괄호보다 많을 경우) or 모든 과정을 마쳤을 때 스택에 원소가 남아 있으면(열린 상태로 닫히지 않은 괄호가 남아 있을 경우) 올바르지 않은 괄호인 것이다.

TIL

없음

728x90
반응형
저작자표시 비영리 (새창열림)

'Algorithm, 코딩테스트' 카테고리의 다른 글

[프로그래머스/코딩테스트 연습/Lv.1] 푸드 파이트 대회-파이썬(Python)  (0) 2022.11.04
[프로그래머스/코딩테스트 연습/Lv.2] 기능개발-파이썬(Python)  (0) 2022.11.04
베스트앨범-파이썬(Python)[프로그래머스/코딩테스트 연습/Lv.3]  (0) 2022.11.03
의상-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]  (0) 2022.11.03
전화번호 목록-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]  (0) 2022.11.03
'Algorithm, 코딩테스트' 카테고리의 다른 글
  • [프로그래머스/코딩테스트 연습/Lv.1] 푸드 파이트 대회-파이썬(Python)
  • [프로그래머스/코딩테스트 연습/Lv.2] 기능개발-파이썬(Python)
  • 베스트앨범-파이썬(Python)[프로그래머스/코딩테스트 연습/Lv.3]
  • 의상-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]
20mini
20mini
개발 공부를 하며 알게 된 내용들을 기록한 블로그입니다. 댓글로 조언, 지적, 충고 등 다양한 의견들 항상 환영합니다!!
    반응형
    250x250
  • 20mini
    해시태그코딩 #coding
    20mini
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Python (1)
      • Algorithm, 코딩테스트 (82)
      • Machine Learning (8)
      • 논문 리뷰 (0)
      • 그 외 공부 관련 (2)
      • 기타 (1)
  • 인기 글

  • 태그

    알고리즘
    코딩테스트
    완전탐색
    Machine Learning
    프로그래머스
    lv.3
    lv.1
    Python
    hash
    lv.2
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
20mini
올바른 괄호-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]
상단으로

티스토리툴바