프로그래머스 - 올바른 괄호
카테고리: 스택/큐
레벨: 2
언어: Java
문제
입출력 예시
풀이
괄호 문제는 대표적인 스택 문제이다.
먼저 코드를 살펴보면 아래와 같다.
boolean solution(String s) {
Stack<Character> stack = new Stack<>();
char[] charArray = s.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] == '(') {
stack.push('(');
} else if (charArray[i] == ')') {
if (stack.isEmpty()) return false;
stack.pop();
}
}
return stack.isEmpty();
}
먼저 매개변수로 받는 문자열을 char 배열로 바꾸고 하나씩 확인해 보면 쉽게 풀 수 있는 문제이다.
입출력 3번째 예시를 가지고 그림을 그려보면 먼저 '(' 괄호가 들어오면 계속 push()를 하고, 닫는 괄호인 ')' 이 들어오면 stack을 pop() 해준다.
반복문이 끝나고 stack에 데이터가 남아있는지 확인하고 데이터가 있다면 false를, 없다면 true를 반환해주는 간단한 문제이다.
'알고리즘 공부' 카테고리의 다른 글
알고리즘 - 하노이 탑 (0) | 2023.12.05 |
---|---|
프로그래머스 - 프로세스 (0) | 2023.12.04 |
프로그래머스 - 기능개발(Java) (1) | 2023.11.29 |
프로그래머스 - 같은 숫자는 싫어(Java) (0) | 2023.11.29 |
자바 백준_실버5 - 25206번 (0) | 2023.10.06 |