https://school.programmers.co.kr/learn/courses/30/lessons/120853
정답
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
List<Integer> numbers = new ArrayList<>();
StringTokenizer st = new StringTokenizer(s, " ");
while (st.hasMoreTokens()) {
String token = st.nextToken();
if (token.equals("Z")) {
if (!numbers.isEmpty()) {
answer -= numbers.remove(numbers.size() - 1);
}
} else {
numbers.add(Integer.parseInt(token));
answer += Integer.parseInt(token);
}
}
return answer;
}
}
다른 사람의 풀이
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for (String w : s.split(" ")) {
if (w.equals("Z")) {
stack.pop();
} else {
stack.push(Integer.parseInt(w));
}
}
for (int i : stack) {
answer += i;
}
return answer;
}
}
'Java > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 - 중복된 문자 제거 (0) | 2024.04.30 |
---|---|
[JAVA] 프로그래머스 - 배열 원소의 길이 (0) | 2024.04.30 |
[JAVA] 프로그래머스 - 소인수분해 (0) | 2024.04.30 |
[JAVA] 프로그래머스 - 숨어있는 숫자의 덧셈(1) (0) | 2024.04.30 |
[JAVA] 프로그래머스 - 문자열 정렬하기(1) (0) | 2024.04.29 |