새소식

Career/Coding Test

99클럽 코테 스터디 28/99일차 TIL #괄호 회전하기(미들러)

  • -
반응형

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

 

프로그래머스

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

programmers.co.kr

 

]

def is_valid_bracket_string(s):
    stack = []
    bracket_map = {')': '(', ']': '[', '}': '{'}
    
    for char in s:
        if char in bracket_map.values():  # 여는 괄호
            stack.append(char)
        elif char in bracket_map.keys():  # 닫는 괄호
            if stack and stack[-1] == bracket_map[char]:
                stack.pop()
            else:
                return False
    return len(stack) == 0

def solution(s):
    valid_count = 0
    
    for i in range(len(s)):
        rotated_s = s[i:] + s[:i]  # 문자열을 왼쪽으로 i칸 회전
        if is_valid_bracket_string(rotated_s):
            valid_count += 1
    
    return valid_count
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.