10773 JAVA ์ ๋ก
๐ ๋ฌธ์ ์ค๋ช
๋์ฝ๋ ๊ธฐ์ฅ ์ฌ๋ฏผ์ด๋ ๋์๋ฆฌ ํ์์ ์ค๋นํ๊ธฐ ์ํด์ ์ฅ๋ถ๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ด๋ค.
์ฌํ์ด๋ ์ฌ๋ฏผ์ด๋ฅผ ๋์์ ๋์ ๊ด๋ฆฌํ๋ ์ค์ธ๋ฐ, ์ ์ํ๊ฒ๋ ํญ์ ์ ์ ์๋ ์ฌํ์ด๋ ๋์ ์ค์๋ก ์๋ชป ๋ถ๋ฅด๋ ์ฌ๊ณ ๋ฅผ ์น๊ธฐ ์ผ์ค์๋ค.
์ฌํ์ด๋ ์๋ชป๋ ์๋ฅผ ๋ถ๋ฅผ ๋๋ง๋ค 0์ ์ธ์ณ์, ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ๋ฏผ์ด๊ฐ ์ด ์๋ฅผ ์ง์ฐ๊ฒ ์ํจ๋ค.
์ฌ๋ฏผ์ด๋ ์ด๋ ๊ฒ ๋ชจ๋ ์๋ฅผ ๋ฐ์ ์ ์ ํ ๊ทธ ์์ ํฉ์ ์๊ณ ์ถ์ด ํ๋ค. ์ฌ๋ฏผ์ด๋ฅผ ๋์์ฃผ์!
๐ ์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000)
์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ์ฐ ํด๋น ์๋ฅผ ์ด๋ค.
์ ์๊ฐ "0"์ผ ๊ฒฝ์ฐ์ ์ง์ธ ์ ์๋ ์๊ฐ ์์์ ๋ณด์ฅํ ์ ์๋ค.
๐ ์ถ๋ ฅ
์ฌ๋ฏผ์ด๊ฐ ์ต์ข ์ ์ผ๋ก ์ ์ด ๋ธ ์์ ํฉ์ ์ถ๋ ฅํ๋ค. ์ต์ข ์ ์ผ๋ก ์ ์ด๋ธ ์์ ํฉ์ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
๐ ์ฝ๋
์๋ชป์ ๋ ฅํ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฒ์ ์ญ์ ํด์ผํ๊ธฐ ๋๋ฌธ์ FILO์ธ Stack์ ์ฌ์ฉํ๋ค. ๋ชจ๋ ์ ๋ ฅ์ ๋ฐ์ ํ, Stack์ ๊ฐ์ด ์์ ๋๊น์ง ํฉ์ ๊ตฌํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ค.
import java.io.*;
import java.util.*;
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<Integer> s = new Stack<>();
for(int i = 0; i < k; i++){
int num = Integer.parseInt(br.readLine());
if(num == 0){
s.pop();
}else{
s.push(num);
}
}
// ์ถ๋ ฅ
int sum = 0;
while(!s.empty()){
sum += s.pop();
}
System.out.println(sum);
}
}