반응형
🔺 문제
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int k = Integer.parseInt(br.readLine());
Stack<Long> stack = new Stack<>();
for(int i = 0 ; i < k ; i++) {
long num = Long.parseLong(br.readLine());
if(num != 0) {
stack.push(num);
} else {
stack.pop();
}
}
long sum = 0;
for(long i : stack) {
sum += i;
}
System.out.println(sum);
}
}
✅ 해결 아이디어
- 입력받은 값이 0이 아니라면 스택에 저장(push)하고, 0이라면 가장 위쪽의 원소를 제거(pop)한다.
💬 느낀 점
혹시 몰라서 long형으로 처리했는데 다른 분들 풀이 보니까 int형으로 받고 해도 괜찮더라..~
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 11286번: 절댓값 힙 (0) | 2023.04.10 |
---|---|
[백준/JAVA] 2164번: 카드2 (0) | 2023.04.10 |
[백준/JAVA] 10828번: 스택 (0) | 2023.04.10 |
[백준/JAVA] 12891번: DNA 비밀번호 (0) | 2023.04.10 |
[백준/JAVA] 11478번: 서로 다른 부분 문자열의 개수 (0) | 2023.04.10 |