https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
괄호들이 알맞게 짝 지어져 있는지 푸는 문제이다.
def is_valid(s):
stack = []
pair = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in "({[":
stack.append(char)
elif char in ")}]":
if not stack or stack[-1] != pair[char]:
return False
stack.pop()
return not stack
def solution(s):
answer = 0
n = len(s)
for i in range(n):
rotated = s[i:] + s[:i]
if is_valid(rotated):
answer += 1
return answer
나는 스택에 (,{,[ 형태 괄호를 넣고 반대편 기호가 들어오면 빼는 형식으로 진행을 했다.
다른 몇몇 사람들은 파이썬의 replace 메소드를 이용해서 문제를 푸는 것도 보았다.
replace가 더 간편하다고 생각한다.
'PS' 카테고리의 다른 글
[Programmer] 전화번호 목록 (0) | 2024.12.10 |
---|---|
[Programmers] 폰켓몬 (0) | 2024.12.08 |
[programmers] [PCCP 기출문제] 2번 / 석유 시추 (0) | 2024.11.30 |
[Programmers] [PCCE 기출문제] 9번 / 지폐 접기 (0) | 2024.11.21 |
[Programmers] [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 (1) | 2024.11.19 |