10773๋ฒ: ์ ๋ก
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000) ์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ
www.acmicpc.net
๋ฌธ์
์์
ํ์ด
์คํ์ ๊ตฌ์กฐ(LIFO)๋ฅผ ์ ์ดํดํ๋ค๋ฉด ์ฝ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ ๋ฌธ์ ์ด๋ค.
์ ๋ ฅ๋๋ ์ซ์๊ฐ 0 ์ด์์ด๋ผ๋ฉด ์คํ์ push()ํ๊ณ , 0์ด๋ผ๋ฉด ์คํ์ pop()์ ํ๋ฉด ๋๋ค.
๊ทธ๋ฌ๊ณ ์คํ์ด ๋น์ด์์ ๋๊น์ง ๋ณ์์ ์คํ์ ๊ฐ์ ๋ํด์ฃผ๊ณ ,
์ต์ข ์ ์ผ๋ก ํด๋น ๋ณ์๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค.
์์ค ์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
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());
int result = 0;
Stack<Integer> s = new Stack<>();
for (int i = 0; i < K; i++) {
int n = Integer.parseInt(br.readLine());
if (n > 0) {
s.push(n);
}
else {
s.pop();
}
}
while (!s.empty()) {
result += s.pop();
}
System.out.println(result);
}
}
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 18111๋ฒ : ๋ง์ธํฌ๋ํํธ (0) | 2023.01.14 |
---|---|
[๋ฐฑ์ค] 4949๋ฒ : ๊ท ํ์กํ ์ธ์ (0) | 2023.01.13 |
[๋ฐฑ์ค] 10845๋ฒ : ํ (JAVA) (1) | 2023.01.12 |
[๋ฐฑ์ค] 2606๋ฒ : ๋ฐ์ด๋ฌ์ค (1) | 2023.01.11 |
[๋ฐฑ์ค] 11726๋ฒ : 2รn ํ์ผ๋ง (0) | 2023.01.10 |