-
[백준-2161] 카드1 - Java공부/백준 2022. 10. 9. 13:04728x90
https://www.acmicpc.net/problem/2161
백준 2161번 카드1 자바 풀이
난이도: 실버5
큐를 이용하여 풀었다.
k번째 카드가 홀수일 경우 맨 위에 있어,
queue.poll()로 k번째 카드를 버리고,
짝수인 경우 queue.poll()로 맨 위에서 제거 하고, queue.add()로 k번째 카드를 맨 밑으로 보내었다.
코드
import java.util.*;public class back2161 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num=scanner.nextInt();Queue<Integer> queue=new LinkedList<>();for(int i=0;i<num;i++){queue.add(i+1);}int k=1;while(queue.size()!=1){if(k%2==1){System.out.print(queue.poll()+" ");k++;}else{int temp=queue.poll();queue.add(temp);k++;}}System.out.print(queue.poll());}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-10867] 중복 빼고 정렬하기 - Java (0) 2022.10.18 [백준-1026] 보물 - Java (0) 2022.10.10 [백준-2193] 이친수 - Java (1) 2022.10.02 [백준-1158] 요세푸스 문제 (0) 2022.10.01 [백준-1094] 막대기 - Java (0) 2022.09.29