https://www.acmicpc.net/problem/1158
풀이 접근법: LinkedList()에 1~N만큼 넣고, list size가 0이 될 떄까지 인덱스 값을 특정하여 값을 지우면서 출력함
인덱스 계산하는게 마음대로 되지 않아, 생각보다 오래 걸림..
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int index = 0;
LinkedList<Integer> list = new LinkedList<>();
for (int i = 1; i <= n; i++) {
list.offer(i);
}
System.out.print("<");
while (!list.isEmpty()) {
index = (index + (m - 1)) % list.size();
if(list.size() != 1) {
System.out.print(list.remove(index) + ", ");
}else{
System.out.print(list.remove(index));
}
}
System.out.print(">");
}
}
queue 에서의 remove는 return으로 boolean을 주지만, LinkedList는 return으로 지우고자 하는 값을 줌
'Java' 카테고리의 다른 글
프로그래머스 : 디스크 컨트롤러 (0) | 2023.03.19 |
---|---|
프로그래머스: 프린터 (0) | 2023.03.18 |
백준 26008번: 해시 해킹 문제 (1) | 2023.03.16 |
[Java] 백준 10818번: 최소, 최대 (0) | 2023.03.15 |
백준 1021번: 회전하는 큐 (0) | 2023.03.14 |