올바른 괄호
문제정의
열린괄호와 닫힌괄호로 이루어진 문자열이 올바른 괄호식인지 확인하는 문제이다. 올바른 괄호식이란 열린 괄호와 닫힌 괄호의 수가 동일해야 하며, 열렸으면 반드시 닫혀야한다.
문제풀이
전체 코드는 다음과 같다. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30package level2;
public class CorrectBracket {
//프로그래머스 문제풀이 level2 올바른 괄호
public static void main(String[] args) {
String s = "()()";
boolean answer = true;
int open = 0, close = 0;
char[] arr = s.toCharArray();
for(char c : arr)
{
if(c == '(')
open++;
else
close++;
if(open < close)
{
answer = false;
break;
}
}
if(open != close)
answer = false;
System.out.println(answer);
}
}
최종 시간복잡도는 문자열의 길이를 n이라 할 때, \(O(n)\)이다.