문제
내가 작성한 정답
class Solution {
public int solution(String s) {
int answer = 0;
String[] ss = s.split(" ");
for(int i=0; i<ss.length; i++){
if(ss[i].equals("Z")) answer -= Integer.parseInt(ss[i-1]);
else answer += Integer.parseInt(ss[i]);
}
return answer;
}
}
import java.util.*;
import java.util.stream.*;
class Solution {
public int solution(String s) {
String[] ss = s.split(" ");
List<Integer> n = new ArrayList<>();
for(int i=0; i<ss.length; i++){
if(ss[i].equals("Z")) {
n.add(i-1);
n.add(i);
}
}
return IntStream.range(0, ss.length)
.filter(i -> !n.contains(i))
.map(i -> Integer.parseInt(ss[i]))
.sum();
}
}다른 사람들의 정답
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;
}
}
Share article