
| 문제 | 레벨 | 정답률 |
|---|---|---|
| 짝지어 제거하기 | Lv.2 | 73% |

import java.util.*;
class Solution
{
public int solution(String s)
{
Stack<Character> stack = new Stack<>();
for(char c : s.toCharArray()){
if(stack.isEmpty() || stack.peek() != c){
stack.push(c);
}else{
stack.pop();
}
}
if(stack.isEmpty()){
return 1;
}else{
return 0;
}
}
}
import java.util.Stack;
class Solution {
public int solution(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
// 스택이 비어있거나 현재 문자와 스택의 상단 문자가 다르면 스택에 추가
if (stack.isEmpty() || stack.peek() != c) {
stack.push(c);
} else {
// 현재 문자와 스택의 상단 문자가 같으면 제거
stack.pop();
}
}
// 스택이 비어있으면 문자열의 모든 문자가 제거된 것
return stack.isEmpty() ? 1 : 0;
}
}
크게 달라진 건 없고, 마지막에 if else문을 삼항으로 변경함
삼항 연산자를 사실 평소에 잘 안쓰게 되는데 사용하면 가독성이 높아지니 적극 사용하려 노력해보겠숩니당,,