본문 바로가기
공부-코딩테스트/코테풀이 - 자바, 파이썬

괄호 회전하기 (파이썬, 프로그래머스, 코딩테스트)

by 령과 2022. 7. 16.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/76502

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


풀이

단순히 스택을 사용해서 소거하는 식으로 맞는 문자열 판별을 할 수 있다.

 


나의 코드

def solution(s):
    answer = 0
    arr = [s]
    for i in range(len(s)-1):
        arr.append(arr[-1][1:]+arr[-1][0])
    
    for i in arr:
        if check(i):
            answer+=1
    
    return answer

def check(s):
    stack = [s[0]]
    for i in s[1:]:
        if len(stack) == 0:
            stack.append(i)
        elif i == ')' and stack[-1]=='(':
            del stack[-1]
        elif i==']' and stack[-1]=='[':
            del stack[-1]
        elif i=='}' and stack[-1]=='{':
            del stack[-1]
        else:
            stack.append(i)
    if len(stack)==0:
        return True
    return False

댓글