[알고리즘문제풀기] 컨트롤 제트

silver's avatar
Dec 29, 2025
[알고리즘문제풀기] 컨트롤 제트

문제

내가 작성한 정답

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

silver