seunghyun Note
[프로그래머스] - 짝지어 제거하기 with JAVA 본문
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12973
문제 풀이
공부했던 스택의 응용 버전이였다.
스택을 사용한다면 매우 간단한 문제..!
import java.util.Stack;
class Solution {
public int solution(String inputString) {
Stack<Character> stack = new Stack<>();
// 문자열을 순회하며 스택에 문자를 추가하거나 제거합니다.
for (int i = 0; i < inputString.length(); i++) {
char currentChar = inputString.charAt(i);
if (stack.empty()) {
stack.push(currentChar);
} else if (stack.peek() == currentChar) {
stack.pop(); // 스택의 top이 현재 문자와 같으면 pop
} else {
stack.push(currentChar); // 그렇지 않으면 스택에 추가
}
}
// 스택이 비어있으면 모든 문자가 제거된 것이므로 1을 반환, 그렇지 않으면 0 반환
if (stack.empty()) {
return 1;
} else {
return 0;
}
}
}
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[프로그래머스] - 숫자의 표현 with JAVA (1) | 2024.01.04 |
---|---|
[프로그래머스] - 다음 큰 숫자 with JAVA (1) | 2024.01.04 |
[프로그래머스] - 카페 with JAVA (0) | 2024.01.04 |
[프로그래머스] - 구명보트 with JAVA (1) | 2024.01.04 |
[프로그래머스] - 예상 대진표 with JAVA (0) | 2024.01.04 |