반응형
프로그래머스: 괄호 회전하기 풀이
문제풀러가기
https://programmers.co.kr/learn/courses/30/lessons/76502?language=python3
비슷한 문제
2021.07.01 - [코딩테스트/코딩테스트 문제] - 코딩테스트 준비 - 프로그래머스: 괄호 변환 풀이/재귀함수 문제 (파이썬)
문제 분석
1. 괄호가 올바른지 확인하는 함수 하나 만들기.
2. 왼쪽으로 한 칸씩 이동시키기 위해, 앞 문자열을 잘라서 뒤에 붙이기.
코드
def correct(s):
result=""
for i in s:
if len(result)==0:
result+=i
continue
if result[-1]=="[" and i=="]":
result=result[:-1]
elif result[-1]=="(" and i==")":
result=result[:-1]
elif result[-1]=="{" and i=="}":
result=result[:-1]
else:
result+=i
if len(result)==0: return True
else: return False
def solution(s):
cnt=0
rs=0
while cnt<len(s):
if cnt!=0:
a=s[0]
s=s[1:]+a
if correct(s):
rs+=1
cnt+=1
return rs
코드 풀이
def correct(s): #올바른 괄호인지 확인하는 함수
result=""
for i in s:
if len(result)==0: #result안에 아무것도 없으면 일단 집어 넣는다
result+=i
continue
#괄호 짝이 맞다면, 없어진다 (*result안에 있는 여는 괄호가 없어진다)
if result[-1]=="[" and i=="]":
result=result[:-1]
elif result[-1]=="(" and i==")":
result=result[:-1]
elif result[-1]=="{" and i=="}":
result=result[:-1]
else:
result+=i
# 문자열 전체가 올바른 괄호면 result안에 아무것도 안남게 된다.
if len(result)==0: return True
# 문자열 전체가 올바르지 않으면 result안에 올바르지 않은 괄호들이 남게된다.
else: return False
def solution(s):
cnt=0 #한 칸씩 이동할때마다 카운트 세주는 변수
rs=0 #올바른 괄호일때 마다 카운트 해주는 변수
while cnt<len(s):
if cnt!=0:
a=s[0]
s=s[1:]+a
if correct(s):
rs+=1
cnt+=1
return rs
<잡담>
저번에 비슷한 문제를 풀어봐서 빨리 풀수 있었습니다.
프로그래머스 Lv2밖에 안됐는데 왜이렇게 사람이 피폐해지는것 같쥬.... ㅋㅋㅋㅋ
반응형
'코딩테스트 > 코딩테스트 문제' 카테고리의 다른 글
코딩테스트 준비 - 프로그래머스: 카펫 풀이 (파이썬) (0) | 2021.07.02 |
---|---|
코딩테스트 준비 - 프로그래머스: 다리를 지나는 트럭 풀이/상세 설명/스택과 큐 (파이썬) (0) | 2021.07.02 |
코딩테스트 준비 - 프로그래머스: 튜플/2019 카카오 개발자 겨울 인턴십 풀이 (파이썬) (0) | 2021.07.02 |
코딩테스트 준비 - 프로그래머스:메뉴 리뉴얼 풀이/Counter,combinations (파이썬) (0) | 2021.07.02 |
코딩테스트 준비 - 프로그래머스: 예상 대진표 풀이 (파이썬) (1) | 2021.07.01 |
댓글