Lined Notebook

[Level 2] [Java] 올바른 괄호

by HeshAlgo

<올바른 괄호>

문제 설명

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어

  • ()() 또는 (())() 는 올바른 괄호입니다.

  • )()( 또는 (()( 는 올바르지 않은 괄호입니다.

'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

 

제한 사항

  • 문자열 s의 길이 : 100,000 이하의 자연수

  • 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.

입출력 예

내 생각

try-catch문을 사용하지 않을 경우 주어진 문자열 첫 번째 인덱스 값이 ')'이 나올 경우 java.util.EmptyStackException이 발생하게 됩니다. 그렇기 때문에 catch문을 통해서 따로 false를 리턴해주면 됩니다. 나머지 코드들은 '('을 만날 경우 스택에 넣어주고 ')'을 만날 경우 가장 맨 위의 스택 값을 제거해주는 방식으로 로직을 구성하였습니다. 반복문을 모두 실행시켜주고 스택이 비었을 경우는 올바른 괄호가 된 것이고 스택이 안 비었을 경우는 올바른 괄호 상태가 되지 않은 것입니다.

 

푼 시간

15분 42초

 

작성 코드

실행 결과

블로그의 정보

꾸준히 공부하는 개발 노트

HeshAlgo

활동하기