반응형
문제

예제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)의 정의와 예제
자료구조 - 큐(Queue)의 정의와 예제
자료구조(Data Structure)란? 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다. 삽입(Push): 데이터를
soo-vely-dev.tistory.com
출처
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
반응형
'알고리즘 > 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 |