-
[Baekjoon Online Judge] 10773번: 제로문제 풀이/Baekjoon Online Judge 2021. 1. 8. 19:48
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
값을 입력 받으며 0이 나올 때 마다 최근 수를 지우는 문제이다. 현재 돈이 0일 때 LinkedList의 pollLast 메소드를 활용하여 마지막 값을 삭제한다. LinkedList를 활용한 Stack 개념을 활용하여 풀이하였다.
import java.io.*; import java.util.LinkedList; public class Baekjoon10773 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(bufferedReader.readLine()); int result = 0; LinkedList<Integer> linkedList = new LinkedList<>(); for (int i = 0; i < n; i++) { int currentMoney = Integer.parseInt(bufferedReader.readLine()); if (currentMoney == 0) { linkedList.pollLast(); } else { linkedList.add(currentMoney); } } for (Integer value : linkedList) { result += value; } bufferedWriter.write(String.valueOf(result)); bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); } }
'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon Online Judge] 10808번: 알파벳 개수 (0) 2021.01.08 [Baekjoon Online Judge] 2743번: 단어 길이 재기 (0) 2021.01.08 [Baekjoon Online Judge] 10953번: A+B - 6 (0) 2021.01.08 [Baekjoon Online Judge] 2941번: 크로아티아 알파벳 (0) 2021.01.05 [Baekjoon Online Judge] 1316번: 그룹 단어 체커 (0) 2021.01.05