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

silver's avatar
Jan 15, 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.*; class Solution { public int solution(String s) { int answer = 0; //숫자를 저장하고, 마지막 숫자를 삭제할 수 있는 Stack을 생성. 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; } }
💡

Stack

✅ Stack(스택)은 “LIFO (Last In, First Out)” 즉, “후입선출” 방식의 자료구조이다.
🔹 주요 특징
push()스택에 값 추가
pop()스택의 마지막 요소를 꺼내서 삭제
peek()스택의 마지막 요소를 조회(삭제X)
Share article

silver