본문 바로가기

백준 문제풀기/JAVA

[백준 11866 JAVA 자바] 요세푸스 문제 0

어려울게 없습니다
하란대로 합시다

 

(7,3) 요세푸스 순열은

(3)

4 5 (6)

7 1 (2)

4 5 (7)

1 4 (5)

1 4 (1)

4 4 (4)

이렇게 됩니다

 

코드입니다

import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args){
		
		Scanner scan = new Scanner(System.in);
		
		Deque<Integer> q = new LinkedList<>();
		
		int N = scan.nextInt();
		int M = scan.nextInt();
		
		for(int i=1;i<=N;i++) {
			q.addLast(i);
		}
		
		int[] arr = new int[N];
		
		for(int j=0; j<N; j++) {
			for(int i=0; i<M-1;i++) {
				q.addLast(q.pollFirst());
			}
			arr[j]=q.pollFirst();
		}
		System.out.print("<");
		for(int j=0; j<N-1; j++) {
			System.out.print(arr[j]+", ");
		}
		System.out.print(arr[N-1]+">");
	}
}

링크드 리스트를 사용했습니다

링크드 리스트는

연결 리스트 (tistory.com)

 

연결 리스트

연결 리스트에 공부하기에 앞서 선형 자료 구조에 대해 알 필요가 있습니다 1. 어레이 2. 연결 리스트 3. 스택 4. 큐 ...기타등등 스택과 큐는 나중에 알아보기로 하고 일단 어레이와 연결 리스트에

icepizza.tistory.com

여기 잘 써놨습니다