728x90
[문제 이해]
큐에 대한 설명
import java.io.IOException;
import java.util.LinkedList;
import java.util.Queue;
public class Main{
public static void main(String[] args) throws IOException{
// '정수'형을 원소로 하는 큐 생성
Queue<Integer> queue = new LinkedList<>();
// add() : 큐에 원소 삽입
queue.add(1);
queue.add(2);
queue.add(3);
// 원소 삽입이 이상없는 경우 'true' 반환
System.out.println(queue.add(4));
/* 출력값
true
*/
// 현재 큐 : <1, 2, 3, 4>
// peek() : 큐의 첫번째 값 참조
System.out.println(queue.peek());
/* 출력값
1
*/
// poll() : 큐에 저장된 값 반환하고 제거
System.out.println(queue.poll()); // 현재 큐 : <2, 3, 4>
System.out.println(queue.poll()); // 현재 큐 : <3, 4>
System.out.println(queue.poll()); // 현재 큐 : <4>
System.out.println(queue.poll()); // 현재 큐 : <>
System.out.println(queue.poll()); // 현재 큐 : <> // 'null' 반환
// 큐가 비어있다면 'null' 반환
/* 출력값
1
2
3
4
null
*/
}
}
[참고 문헌] <Queue 라이브러리>
https://docs.oracle.com/javase/7/docs/api/java/util/Queue.html
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Queue<Integer> queue = new LinkedList<>();
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
// 1 ~ N까지 큐에 삽입
for(int i=1; i<=N; i++){
queue.add(i);
}
StringBuilder sb = new StringBuilder();
sb.append("<");
while(queue.size() > 1){ // 마지막 원소를 직접 출력하기 위함
// 1 ~ K-1번째 원소 뒤에 정렬
for(int i=0; i < K - 1; i++){
int val = queue.poll();
queue.add(val);
}
// K번째 원소 추출
sb.append(queue.poll());
sb.append(", ");
}
sb.append(queue.poll()).append(">");
bw.write(sb.toString());
bw.flush();
bw.close();
}
}
728x90
'백준 > 코드 플러스 (알고리즘 기초 - 1)' 카테고리의 다른 글
[백준] 201 - 자료구조 1 (연습) : 단어 뒤집기 2 (!) (17413번 JAVA) (0) | 2023.01.05 |
---|---|
[백준] 200 - 자료구조 1 : 덱 (!) (10866번 JAVA) (1) | 2023.01.05 |
[백준] 200 - 자료구조 1 : 큐 (10845번 JAVA) (0) | 2023.01.03 |
[백준] 200 - 자료구조 1 : 에디터 (!) (1406번 JAVA) (0) | 2023.01.03 |
[백준] 200 - 자료구조 1 : 스택 수열 (!) (1874번 JAVA) (0) | 2023.01.03 |