백준 9012번 문제는 스택 자료구조를 묻는 대표적인 괄호 문제이다.
문제

입력과 출력

풀이

먼저 테스트 케이스로 들어오는 정수를 받아주고 해당 값 만큼 반복문을 돌려서 괄호를 받아준다.
check() 메서드를 통해 결과값을 StringBuilder에 추가하여 마지막으로 출력해준다.

check() 메서드를 통해서 반복문을 돌리는데 먼저 입력으로 받은 test 문자열을 charAt을 활용하여 i 번째 문자를 뽑아준다.
그 후 뽑힌 i 번째 문자가 '(' 면 스택에 push()하고 해당 괄호가 아니면 pop()을 실행한다.
만약 '(' 데이터가 하나 들어오고 그 다음 ')' 데이터가 두 개 들어 온다면 처음 닫는 괄호 데이터가 들어왔을 때 스택을 pop() 해주기 때문에 스택은 비어있는 상태가 되고 다시 ')' 데이터가 들어오면 이미 스택은 비어있는 상태이기 때문에 "NO"를 반환해준다.
마지막으로 반복문이 끝난 경우 스택이 비어있는지 확인하여 결과값을 반환해준다.
'알고리즘 공부' 카테고리의 다른 글
백준 실버4 12789번(자바) (2) | 2023.09.04 |
---|---|
백준 실버4 28278번(자바) (0) | 2023.09.03 |
백준 실버4 4949(자바) (0) | 2023.09.03 |
백준 실버4 10773번(자바) (0) | 2023.08.29 |
백준 실버4 2164번(자바) (0) | 2023.08.29 |
백준 9012번 문제는 스택 자료구조를 묻는 대표적인 괄호 문제이다.
문제

입력과 출력

풀이

먼저 테스트 케이스로 들어오는 정수를 받아주고 해당 값 만큼 반복문을 돌려서 괄호를 받아준다.
check() 메서드를 통해 결과값을 StringBuilder에 추가하여 마지막으로 출력해준다.

check() 메서드를 통해서 반복문을 돌리는데 먼저 입력으로 받은 test 문자열을 charAt을 활용하여 i 번째 문자를 뽑아준다.
그 후 뽑힌 i 번째 문자가 '(' 면 스택에 push()하고 해당 괄호가 아니면 pop()을 실행한다.
만약 '(' 데이터가 하나 들어오고 그 다음 ')' 데이터가 두 개 들어 온다면 처음 닫는 괄호 데이터가 들어왔을 때 스택을 pop() 해주기 때문에 스택은 비어있는 상태가 되고 다시 ')' 데이터가 들어오면 이미 스택은 비어있는 상태이기 때문에 "NO"를 반환해준다.
마지막으로 반복문이 끝난 경우 스택이 비어있는지 확인하여 결과값을 반환해준다.
'알고리즘 공부' 카테고리의 다른 글
백준 실버4 12789번(자바) (2) | 2023.09.04 |
---|---|
백준 실버4 28278번(자바) (0) | 2023.09.03 |
백준 실버4 4949(자바) (0) | 2023.09.03 |
백준 실버4 10773번(자바) (0) | 2023.08.29 |
백준 실버4 2164번(자바) (0) | 2023.08.29 |