반응형
1. 문제 정의
2. 문제 접근
Stack을 사용하여 풀면 될 것 같다.
3. 문제 풀이
- Stack을 이용하여 "("일때는 넣고, ")" 일때는 Stack에 값이 들어가 있는지 확인 후 처리
4. 코드
import java.util.*;
class Solution {
boolean solution(String s) {
Stack<Character> stack = new Stack<>();
for(char ch:s.toCharArray()){
if(ch == '('){
stack.add(ch);
} else {
if(stack.isEmpty()){
return false;
} else {
stack.pop();
}
// if(!stack.isEmpty() && stack.peek() == '('){
// stack.pop();
// }
}
}
return !stack.isEmpty() ? false : true;
}
}
5. 회고
Stack을 사용하여 간단하게 풀 수 있는 문제다. 다만, Stack이 비었을 때를 바로 처리 안하면 시간 정확성 테스트에서 2개가 fail이 난다.
Stack이 비었을 때 ")" 이게 들어오면 어차피 false이므로 바로 처리해주자.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL, 정렬(H-Index) (0) | 2024.05.27 |
---|---|
99클럽 코테 스터디 3일차 TIL, Heap(더 맵게) (0) | 2024.05.24 |
99클럽 코테 스터디 1일차 TIL, Queue(기능개발) (0) | 2024.05.22 |
PCCP 모의고사 1회 - 운영체제 (0) | 2023.02.18 |
PCCP 모의고사 2회 - 보물 지도 (0) | 2023.02.18 |