반응형
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12973
풀이
package seohae.algorithm.level2;
import java.util.Stack;
/**
* https://programmers.co.kr/learn/courses/30/lessons/12973
*/
public class Lesson_049_12973 {
public static void main(String[] args) {
Lesson_049_12973 lesson = new Lesson_049_12973();
int[] a = new int[]{1,2,3};
System.out.println(lesson.solution("baabaa"));
}
public int solution(String s) {
int answer = 0;
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char target = s.charAt(i);
if (!stack.isEmpty() && target == stack.peek()) {
stack.pop();
} else {
stack.push(target);
}
}
if (stack.isEmpty()) {
answer = 1;
}
return answer;
}
}
해당 문제는 짝이 맞다면 Stack 에서 pop 하고, 맞지 않다면 Stack 에 push 하는 로직이다. 문자열의 길이만큼 반복문을 돌리고, Stack에 원소가 남아있다면 짝이 맞지 않는 것이므로 answer 변수에 1을 셋팅해준다.
반응형
'Algorithm > Problem Solving' 카테고리의 다른 글
[프로그래머스] Level2 _1829번: 카카오 프렌즈 컬러링북 (JAVA) (0) | 2021.09.25 |
---|---|
[프로그래머스] Level2 _42888번: 오픈채팅방 (JAVA) (0) | 2021.09.24 |
[프로그래머스] Level2 _42626번: 더 맵게 (JAVA) (0) | 2021.09.22 |
[Baekjoon 11047번] 동전 0 문제 (with 자바) (0) | 2021.09.22 |
[Baekjoon 2583번] 영역구하기 문제 (with 자바) (0) | 2021.09.19 |