반응형
문제
예제1
해당 문제는 자료구조의 '큐'를 이용해서 풀 수 있습니다.
예제 1번은 아래와 같이 이해할 수 있습니다.
1. n의 길이만큼 큐를 생성한다.
2. 큐를 k번 돌아서 0번째 index 값을 제거한다.
풀이
Queue 선언
Queue<Element> queue = new LinkedList<>();
Queue - 값 추가
queue.add(value);
Queue - 첫번째 값 반환 후 제거
queue.poll();
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
Queue<Integer> que = new LinkedList<>();
// 초기화
for(int i = 0; i < n; i++) {
que.add(i + 1);
}
sb.append("<");
while(que.size() > 1) {
for(int i = 0; i < k - 1; i++) {
que.add(que.poll());
}
sb.append(que.poll() + ", ");
}
sb.append(que.poll() + ">");
System.out.print(sb);
br.close();
}
}
팁
Queue
2021.10.15 - [알고리즘/자료구조] - 자료구조 - 큐(Queue)의 정의와 예제
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[프로그래머스] 실패율 - 42889 (Java) (0) | 2024.10.29 |
---|---|
[백준] 9093. 단어 뒤집기(Java8) (0) | 2023.01.10 |
[백준] 10845. 큐(Java8) (0) | 2023.01.04 |
[백준] 10828. 스택(Java8) (0) | 2022.12.28 |
알고리즘 - 최대공약수 계산(유클리드 호제법) java 예제 (0) | 2021.10.23 |