https://www.acmicpc.net/problem/2164
오늘은 할게 있지만 쉬운문제라도 풀자해서 예전에 틀렸던 문제중 쉬워보이는 것을 선택.
문제 지문도 짧고 문제에서 요구하는대로 풀면됨.
<수도코드>
set 1부터N까지 들어있는 큐
while(큐 크기가 1이 될때까지)
poll 연산
set 다시 poll 연산 한 Integer값
set한 값 큐에 add
print 큐에 남은 값
수도코드대로 구현한 결과 정답. 이전 코드보니 그냥 지문대로 코드를 구현안함 .... 쩝
정답 코드 (남이 푼 코드는 어떤지 참고정도만 하시고 스스로 풀어보시길)
더보기
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main_2164_카드2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
Queue<Integer> queue = new LinkedList<>();
for (int i = 1; i <= N; i++)
queue.add(i);
// 입력완료
while (queue.size() != 1) {
queue.poll();
int top = queue.poll();
queue.add(top);
}
System.out.println(queue.poll());
sc.close();
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[1일 1알고리즘] 백준 1303. 전쟁 - 전투 (0) | 2021.12.25 |
---|