문제링크
https://www.acmicpc.net/problem/2164
자바
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main_2164 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Queue<Integer> q = new LinkedList<>();
int N = sc.nextInt();
sc.close();
for(int i=1;i<=N;i++)
q.offer(i);
while(q.size() > 1) {
q.poll();
q.offer(q.poll());
}
System.out.println(q.peek());
}
}
C++
#include <iostream>
#include <queue>
using namespace std;
int main(){
int N,num;
queue<int> q;
cin>>N;
for(int i=0;i<N;i++){
q.push(i+1);
}
while(1){
num = q.front(); //젤 위에 있는거 빼기
q.pop();
if(q.empty()){
cout<<num;
break;
}
num = q.front();
q.push(num);
q.pop();//front빼서 뒤로 넣은거
}
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
[JAVA]백준_16935_배열돌리기3 (0) | 2021.02.13 |
---|---|
[JAVA]백준_1158_요세푸스 문제 (0) | 2021.02.10 |
[JAVA]백준_10819_차이를 최대로 (0) | 2021.02.07 |
[JAVA]백준_2309_일곱난쟁이 (0) | 2021.02.07 |
[JAVA]백준_1302_베스트셀러 (0) | 2021.02.07 |