알고리즘 문제 풀이: 파이썬/Programmers

[프로그래머스] 올바른 괄호

hueco 2021. 6. 30.

 

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12909

 

프로그래머스

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

programmers.co.kr

 

풀이:

 

참고용 풀이:

 

Review:

 리스트를 사용하여 스택을 구현해 해당 문제를 해결하였다. 처음 코드를 작성하였을 때 4가지 테스트 케이스(4번, 5번, 11번, 18번)에서 런타임 에러가 발생했는데 내 코드의 elif 구문을 추가함으로 해당 부분을 해결하였다.

참고용 풀이와 구현 포인트는 비슷하나 내 풀이와는 다르게 try-except 구문을 사용한 부분이 보이고, 마지막 리턴에서 True/False가 아닌 조건문을 사용해 해당 결과에 따른 True/False를 리턴하는 부분이 차이가 나는 것 같다. 해당 부분은 다른 문제에서 꼭 적용해야겠다.

 

Idea:

 입력값으로 들어오는 문자열이 짝수가 아니라면 바르게 짝지을 수 없음으로 False 리턴 <- 해당 부분은 꼭 필요해보이지 않아서 코드에서 삭제했다.

반복문을 돌면서 입력값으로 주어진 문자열을 하나씩 확인한다. ' ( '가 입력되면 리스트에 추가하고, ' ) '가 입력되면 리스트의 가장 마지막으로 추가한 원소를 꺼내 괄호의 짝을 맞춘다. 반복문이 종료되고 리스트에 원소가 남아있다면 짝지어지지 못한 원소가 남아있다는 의미기 때문에 False 리턴. 리스트에 원소가 없다면 True를 리턴.

 

 
 

댓글