728x90
반응형
이번 챕터는 stack, queue에 대해 공부해보는 시간이다. 스택 큐는 자신있는 알고리즘 부분중 하나인데, 새로운 것이 있으면 적극 배워볼 생각이다.
오늘 배운 것
1. 문제 풀이
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String s = kb.next();
solution(s);
}
private static void solution(String s) {
char[] chars = s.toCharArray();
Stack<Character> stack = new Stack<>();
for(char c : chars){
if(c == '('){
stack.push(c);
}else{
// ))))))) 반례처리
if (stack.size() == 0) {
System.out.println("NO");
return;
}
stack.pop();
}
}
if (stack.size() == 0) {
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
. 강사님의 코드는 stack.size() == 0 이 아닌 isEmpty()를 이용하셨다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String s = kb.next();
solution(s);
}
private static void solution(String s) {
char[] chars = s.toCharArray();
Stack<Character> stack = new Stack<>();
for(char c : chars){
if(c == '('){
stack.push(c);
}else{
// ))))))) 반례처리
if (stack.size() == 0) {
System.out.println("NO");
return;
}
stack.pop();
}
}
if (stack.isEmpty()) {
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
728x90
반응형
'알고리즘 > 스택, 큐' 카테고리의 다른 글
[알고리즘] 쇠막대기 with Java (0) | 2022.03.21 |
---|---|
[알고리즘] 후위식 연산 with Java (0) | 2022.03.20 |
[알고리즘] 크레인 인형뽑기(카카오) with Java (0) | 2022.03.19 |
[알고리즘] 괄호 문자 제거 with Java (0) | 2022.03.18 |
[프로그래머스] 기능개발 (0) | 2021.09.20 |