Java
Queue
백준 2164

package 큐;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class BOJ2164 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Queue<Integer> queueInt = new LinkedList<Integer>();
for(int i = 1; i<=n; i++){
queueInt.add(i);
}
while (queueInt.size()!=1){
queueInt.poll();
queueInt.add(queueInt.poll());
}
System.out.println(queueInt.poll());
}
}
백준 10845

package 큐;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class BOJ10845 {
public static void main(String[] args) throws IOException {
BufferedReader rb = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(rb.readLine());
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int lastInt = -1;
String commend;
Queue<Integer> queueInt = new LinkedList<Integer>();
for(int i =0; i<n; i++){
st = new StringTokenizer(rb.readLine());
commend = st.nextToken();
if(commend.equals("push")){
lastInt = Integer.parseInt(st.nextToken());
queueInt.add(lastInt);
} else if (commend.equals("pop")) {
if(queueInt.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(queueInt.poll()).append("\n");
} else if (commend.equals("size")) {
sb.append(queueInt.size()).append("\n");
}else if (commend.equals("empty")){
if(queueInt.isEmpty()){
sb.append(1).append("\n");
continue;
}else{
sb.append(0).append("\n");
continue;
}
} else if(commend.equals("front")){
if(queueInt.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(queueInt.peek()).append("\n");
} else if (commend.equals("back")) {
if(queueInt.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(lastInt).append("\n");
}
}
System.out.println(sb);
}
}
백준 1158

package 큐;
import com.sun.jdi.connect.spi.TransportService;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class BOJ1158 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
StringBuilder sb = new StringBuilder();
Queue<Integer> queueInt = new LinkedList<Integer>();
for(int i = 1; i <=n; i++){
queueInt.add(i);
}
sb.append("<");
int count = 0;
int number;
while(!queueInt.isEmpty()){
if(k - 1 == count){
count = 0;
number = queueInt.poll();
if(!queueInt.isEmpty()){
sb.append(number).append(", ");
}else {
sb.append(number);
}
continue;
}
count += 1;
queueInt.add(queueInt.poll());
}
sb.append(">");
System.out.println(sb);
}
}
백준 1966

package 큐;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
public class BOJ1966 {
public static void main(String[] args) {
Deque<Integer> deque;
Deque<Integer> dequeIdx;
Scanner scanner = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int t = scanner.nextInt();
int n,m;
int num;
int count;
boolean check;
for(int i = 0; i < t; i++){
count = 0;
n = scanner.nextInt();
m = scanner.nextInt();
deque = new LinkedList<Integer>();
dequeIdx = new LinkedList<Integer>();
for(int j = 0; j < n; j++){
num = scanner.nextInt();
deque.add(num);
dequeIdx.add(j);
}
while(true){
int first = deque.remove();
int first_idx = dequeIdx.remove();
check = true;
for(int item : deque){
if(first < item){
check = false;
deque.add(first);
dequeIdx.add(first_idx);
break;
}
}
if(check){
count++;
if(first_idx == m){
sb.append(count).append("\n");
break;
}else{
continue;
}
}else{
continue;
}
}
}
System.out.println(sb);
}
}
백준 18258

package 큐;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Deque;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class BOJ18258 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String commend;
Deque<Integer> deque = new LinkedList<Integer>();
int n = Integer.parseInt(br.readLine());
for(int i = 0; i < n; i++){
st = new StringTokenizer(br.readLine());
commend = st.nextToken();
if(commend.equals("push")){
int num = Integer.parseInt(st.nextToken());
deque.add(num);
}else if (commend.equals("pop")){
if(deque.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(deque.remove()).append("\n");
}else if(commend.equals("size")){
sb.append(deque.size()).append("\n");
}else if (commend.equals("empty")) {
if(deque.isEmpty()){
sb.append(1).append("\n");
}else{
sb.append(0).append("\n");
}
}else if(commend.equals("front")){
if(deque.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(deque.getFirst()).append("\n");
}else if(commend.equals("back")){
if(deque.isEmpty()){
sb.append(-1).append("\n");
continue;
}
sb.append(deque.getLast()).append("\n");
}
}
System.out.println(sb);
}
}