PS/BaekJoon

10773 JAVA ์ œ๋กœ

chaerlo127 2024. 2. 8. 17:44
728x90
 

10773๋ฒˆ: ์ œ๋กœ

์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ 100,000) ์ดํ›„ K๊ฐœ์˜ ์ค„์— ์ •์ˆ˜๊ฐ€ 1๊ฐœ์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ •์ˆ˜๋Š” 0์—์„œ 1,000,000 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ์ •์ˆ˜๊ฐ€ "0" ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ์“ด ์ˆ˜๋ฅผ ์ง€์šฐ๊ณ , ์•„๋‹ ๊ฒฝ

www.acmicpc.net

๐Ÿ€ ๋ฌธ์ œ ์„ค๋ช…

๋‚˜์ฝ”๋” ๊ธฐ์žฅ ์žฌ๋ฏผ์ด๋Š” ๋™์•„๋ฆฌ ํšŒ์‹์„ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์žฅ๋ถ€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์ด๋‹ค.

์žฌํ˜„์ด๋Š” ์žฌ๋ฏผ์ด๋ฅผ ๋„์™€์„œ ๋ˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์ธ๋ฐ, ์• ์„ํ•˜๊ฒŒ๋„ ํ•ญ์ƒ ์ •์‹ ์—†๋Š” ์žฌํ˜„์ด๋Š” ๋ˆ์„ ์‹ค์ˆ˜๋กœ ์ž˜๋ชป ๋ถ€๋ฅด๋Š” ์‚ฌ๊ณ ๋ฅผ ์น˜๊ธฐ ์ผ์‘ค์˜€๋‹ค.

์žฌํ˜„์ด๋Š” ์ž˜๋ชป๋œ ์ˆ˜๋ฅผ ๋ถ€๋ฅผ ๋•Œ๋งˆ๋‹ค 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);
    }
}
728x90