https://www.acmicpc.net/problem/10773
10773๋ฒ: ์ ๋ก
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000) ์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ
www.acmicpc.net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int K = Integer.parseInt(br.readLine()); Stack<Integer> stack = new Stack<>(); for(int i=0; i<K; i++) { int temp = Integer.parseInt(br.readLine()); if(temp == 0) { stack.pop(); } else { stack.push(temp); } } int sum = 0; for(int num : stack) { sum += num; } System.out.println(sum); } } | cs |
์คํ์ ๊ฐ๋ ์ ์๊ณ ์๋์ง ๋ฌผ์ด๋ณด๋ ๋ฌธ์ ์ด๋ค.
๋จผ์ BufferReader ๊ฐ์ฒด๋ฅผ ํ๋ ๋ง๋ค์ด์ค๋ค. ๊ทธ๋ฐ ๋ค์ br์ ๋งค์๋์ธ readLine() ํจ์๋ฅผ ํธ์ถํด์ค๋ค.
๊ทธ๋ ๊ฒ ํ ์คํธ ์ผ์ด์ค์ ๊ฐฏ์๋ฅผ k์ ์ ์ฅํด ์ค๋ค. ๊ทธ ๋ค์ ์คํ์ ํ๋ ๋ง๋ค์ด๋๊ณ
ํ ์คํธ ์ผ์ด์ค์ ๊ฐฏ์๋งํผ for๋ฌธ์ ๋๋ฆฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์ฌ์ฉ์๋ก๋ถํฐ ๊ฐ์ ์ ๋ ฅ ๋ฐ์ ์ ์ํ์ผ๋ก ๋ณํํ๊ณ temp ๋ณ์์ ๋ฃ์ด์ค๋ค. ๋ง์ฝ ์ฌ์ฉ์๊ฐ 0์ ์ ๋ ฅํ์ผ๋ฉด pop์ผ๋ก ์คํ์ ๋งจ ์ (๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๊ฐ)์ ์ง์์ฃผ๊ณ ๊ทธ๊ฒ ์๋๋ฉด ์คํ์ ํธ์(๋ํ๋ ๊ธฐ๋ฅ)์ ํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ for๋ฌธ์ ๋น ์ ธ๋์ ์ฐ๋ฆฌ๊ฐ ์ถ๋ ฅํ ๋ณ์๋ฅผ ํ๋ ์ด๊ธฐํ ํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ stack์ ์๋ ๋ชจ๋ ๊ฐ์ ์์์ ์ ์ํ sum์ ๋ฃ์ด์ฃผ๊ณ ๊ทธ๊ฒ์ ์ถ๋ ฅํ๋ฉด ๋์ด๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 3003 ์ฒด์ค With JAVA (1) | 2024.01.31 |
---|---|
๋ฐฑ์ค 11866 ์์ธํธ์ค With Queue of JAVA (1) | 2024.01.28 |
๋ฐฑ์ค 1934 ์ต์๊ณต๋ฐฐ์ With StringBuilder of Java (0) | 2024.01.26 |
๋ฐฑ์ค 14425 ๋ฌธ์์ด ์งํฉ Using Javaโs hash map (1) | 2024.01.21 |
๋ฐฑ์ค 13241 ์ต์ ๊ณต๋ฐฐ์ With JAVA (0) | 2024.01.20 |