[백준] 10845번 큐 - Java, 자바
문제
https://www.acmicpc.net/problem/10845
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
// 10845번 큐
public class boj_6_10845 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
Queue<Integer> q = new LinkedList<Integer>();
int b = 0;
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String S = st.nextToken();
switch (S) {
case "push":
int num = Integer.parseInt(st.nextToken());
q.add(num);
b = num;
break;
case "pop":
if (q.isEmpty()) {
sb.append("-1\n");
} else {
sb.append(q.remove() + "\n");
}
break;
case "size":
sb.append(q.size() + "\n");
break;
case "empty":
if (q.isEmpty()) sb.append("1\n");
else sb.append("0\n");
break;
case "front":
if (q.isEmpty()) sb.append("-1\n");
else sb.append(q.peek() + "\n");
break;
case "back":
if (q.isEmpty()) sb.append("-1\n");
else sb.append(b + "\n");
break;
}
}
System.out.println(sb);
}
}
풀이
자바에서 큐를 사용하는 방법을 알고 있다면 쉬웠던 문제.
Queue<Integer> q = new LinkedList<Integer>();
q.add(num); // 스택의 push
q.remove(); // 스택의 pop
q.size(); // 스택의 size
q.isEmpty(); // 스택의 isEmpty
q.peek(); // 스택의 peek, 큐에서는 가장 앞에 있는 값을 조회한다
q.poll(); // 큐의 첫번째 항목을 제거
Author And Source
이 문제에 관하여([백준] 10845번 큐 - Java, 자바), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimmjieun/백준-10845번-큐-Java-자바저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)