-
[백준-1158] 요세푸스 문제공부/백준 2022. 10. 1. 11:39728x90
https://www.acmicpc.net/problem/1158
백준 1158번 요세푸스 문제 자바 풀이
난이도: 실버4
선입 선출을 하는 큐를 이용하여 풀었다.
반복문을 통해 k번째 전까지 맨 앞에 있는 것을 뽑아 뒤로 보내고,
k번째에서는 뽑고 StringBuilder에 추가하였다.
코드
import java.util.*;public class back1158 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Queue<Integer> queue = new LinkedList<>();StringBuilder sb = new StringBuilder();sb.append("<");int n=scanner.nextInt();int k=scanner.nextInt();for(int i=0;i<n;i++){queue.offer(i+1);}while(queue.size()!=1){for(int i=0;i<k-1;i++){queue.offer(queue.poll());}sb.append(queue.poll()+", ");}sb.append(queue.poll()+">");System.out.println(sb.toString());}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-2161] 카드1 - Java (0) 2022.10.09 [백준-2193] 이친수 - Java (1) 2022.10.02 [백준-1094] 막대기 - Java (0) 2022.09.29 [백준-1475] 방 번호 - Java (0) 2022.09.26 [백준-1476] 날짜 계산 - Java (0) 2022.09.25