[알고리즘] 백준 - 1021 (회전하는 큐) / 자바

배고픈메꾸리·2021년 2월 9일
0

알고리즘

목록 보기
30/128
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.StringTokenizer;

public class 실험실 {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());

		int len = Integer.parseInt(st.nextToken()); // 10
		int M = Integer.parseInt(st.nextToken()); // 3
		LinkedList<Integer> list = new LinkedList<>();

		for (int i = 1; i <= len; i++) {
			list.add(i);
		}

		int temp = 0;
		int count = 0;
		st = new StringTokenizer(br.readLine());
		for (int i = 0; i < M; i++) {
			temp = Integer.parseInt(st.nextToken());
			if (list.indexOf(temp) <= list.size() / 2) {
				while(temp != list.getFirst()) {
					list.addLast(list.removeFirst());
					count ++;
				}				
			}else {
				while(temp != list.getFirst()) {
					list.addFirst(list.removeLast());
					count ++;
				}
			}
			list.removeFirst();			
		}
		System.out.print(count);
	}

}

profile
FE 개발자가 되자

0개의 댓글