๋ฌธ์
๋์ฝ๋ ๊ธฐ์ฅ ์ฌ๋ฏผ์ด๋ ๋์๋ฆฌ ํ์์ ์ค๋นํ๊ธฐ ์ํด์ ์ฅ๋ถ๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ด๋ค.
์ฌํ์ด๋ ์ฌ๋ฏผ์ด๋ฅผ ๋์์ ๋์ ๊ด๋ฆฌํ๋ ์ค์ธ๋ฐ, ์ ์ํ๊ฒ๋ ํญ์ ์ ์ ์๋ ์ฌํ์ด๋ ๋์ ์ค์๋ก ์๋ชป ๋ถ๋ฅด๋ ์ฌ๊ณ ๋ฅผ ์น๊ธฐ ์ผ์ค์๋ค.
์ฌํ์ด๋ ์๋ชป๋ ์๋ฅผ ๋ถ๋ฅผ ๋๋ง๋ค 0์ ์ธ์ณ์, ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ๋ฏผ์ด๊ฐ ์ด ์๋ฅผ ์ง์ฐ๊ฒ ์ํจ๋ค.
์ฌ๋ฏผ์ด๋ ์ด๋ ๊ฒ ๋ชจ๋ ์๋ฅผ ๋ฐ์ ์ ์ ํ ๊ทธ ์์ ํฉ์ ์๊ณ ์ถ์ด ํ๋ค. ์ฌ๋ฏผ์ด๋ฅผ ๋์์ฃผ์!
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000)
์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ์ฐ ํด๋น ์๋ฅผ ์ด๋ค.
์ ์๊ฐ "0"์ผ ๊ฒฝ์ฐ์ ์ง์ธ ์ ์๋ ์๊ฐ ์์์ ๋ณด์ฅํ ์ ์๋ค.
์ถ๋ ฅ
์ฌ๋ฏผ์ด๊ฐ ์ต์ข ์ ์ผ๋ก ์ ์ด ๋ธ ์์ ํฉ์ ์ถ๋ ฅํ๋ค. ์ต์ข ์ ์ผ๋ก ์ ์ด๋ธ ์์ ํฉ์ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
๋จ์ํ๊ฒ ์ ์ ๋ ฅ์ ๋ฐ์์ ์์ฑํ stack์ push์ pop ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ
ํด๊ฒฐํ๋ ๋ฌธ์ ์๋ค.
import java.util.*;
public class Main {
public int solution(int n, int[] arr){
int answer=0;
Stack<Integer> stack=new Stack<>();
for(int x:arr){
if (x!=0)
stack.push(x);
else
stack.pop();
}
for(int i=0; i<stack.size(); i++){
answer+=stack.get(i);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
System.out.println(T.solution(n, arr));
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ (0) | 2022.10.08 |
---|---|
[๋ฐฑ์ค][JAVA]2164๋ฒ : ํ(์นด๋2) (1) | 2022.10.08 |
[๋ฐฑ์ค][JAVA]4949๋ฒ : ์คํ(๊ท ํ์กํ ์ธ์) (0) | 2022.10.07 |
[๋ฐฑ์ค][JAVA]9012๋ฒ : ์คํ(๊ดํธ) (0) | 2022.10.07 |
[๋ฐฑ์ค][JAVA]10828๋ฒ : ์คํ (0) | 2022.10.03 |