-
boj)1158 - 요세푸스 문제PS/boj 2020. 9. 14. 16:38
import java.io.*; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class boj_1158 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); Queue<Integer> q = new LinkedList<>(); for (int i = 1; i <= n; i++) { q.offer(i); } sb.append("<"); while (!q.isEmpty()) { for (int i = 0; i < m-1; i++) { q.offer(q.poll()); } if (q.size() == 1) { sb.append(String.valueOf(q.poll())); } else { sb.append(String.valueOf(q.poll())).append(", "); } } sb.append(">"); System.out.println(sb.toString()); } }
- 큐 자료구조 이용
- 큐에서 m-1번만큼 빼고 넣어주기 반복
- 마지막엔 q.poll(), 사이즈가 1일땐 문자열 따로 처리
'PS > boj' 카테고리의 다른 글
boj)10799 - 쇠막대기 (0) 2020.09.14 boj)17413 - 단어 뒤집기 2 (0) 2020.09.14 boj)1406 - 에디터 (0) 2020.09.14 boj)1874 - 스택 수열 (0) 2020.09.13 boj)9012 - 괄호 (0) 2020.09.13