문제
https://www.acmicpc.net/problem/10773
문제 설명
문제 풀이
"이 문제를 풀 때 스택을 쓰지 않으면 너는 바보야" 라고 온몸으로 외치고 있는 문제다.
스택에 수를 입력하다 0이 나오면 top에 위치한 수를 제거한다.
수의 입력이 끝나면 스택에 남은 수의 합을 구한다.
코드
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
int sum = 0;
Stack<Integer> s = new Stack<>();
while (k-- > 0) {
int n = sc.nextInt();
if (n != 0) {
s.push(n);
} else {
s.pop();
}
}
for(int i : s) {
sum += i;
}
System.out.println(sum);
}
}
'🧑💻코딩 테스트 > 백준 (BOJ)' 카테고리의 다른 글
[코딩테스트/백준 알고리즘] 1463번 : 1로 만들기 (Java, 자바 풀이) (0) | 2022.08.29 |
---|---|
[코딩테스트/백준 알고리즘] 1966번 : 프린터 큐 (Java, 자바 풀이) (0) | 2022.08.11 |
[코딩테스트/백준 알고리즘] 1024번 : 수열의 합 (Java, 자바 풀이) (0) | 2022.08.10 |
[코딩테스트/백준 알고리즘] 11651번 : 좌표 정렬하기 2 (Java, 자바 풀이) (0) | 2022.08.10 |
[코딩테스트/ 백준 알고리즘] 2775번 : 부녀회장이 될테야 (Java, 자바 풀이) (0) | 2022.08.04 |
댓글