티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12909
[for 문 사용]
Point. 괄호 개수를 세는 것이 아니라 (는 count +1, )는 count -1 의 개념으로 접근한다. 마지막 count는 항상 0이고, count가 마이너스가 되는 순가 무조건 틀린답이다.
class Solution {
boolean solution(String s) {
int count = 0;
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '(') {
count ++;
}
if(s.charAt(i) == ')') {
count --;
}
if(count < 0) {
return false;
}
}
if(count != 0) {
return false;
}
return true;
}
}
[Stack 사용]
Point. 동일하게 개수가 아닌 pop, push를 사용하되, empty를 이용한다. 마지막은 항상 empty이고, for문 도중 empty가 되는 것은 틀린답이다.
import java.util.Stack;
class Solution {
boolean solution(String s) {
Stack<Integer> stack = new Stack<>();
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '(') {
stack.push(i);
}
if(s.charAt(i) == ')') {
if(stack.isEmpty()) {
return false;
}else {
stack.pop();
}
}
}
if(!stack.isEmpty()) {
return false;
}
return true;
}
}
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 주식가격 (0) | 2022.06.10 |
---|---|
[프로그래머스] 다리를 지나는 트럭 (0) | 2022.06.08 |
[프로그래머스] 프린터 (0) | 2022.04.27 |
[프로그래머스] 기능개발 (0) | 2022.04.19 |
[프로그래머스] 베스트앨범 (0) | 2022.04.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크