728x90
접근방법
- 하나는 버리고 하나는 다시 큐에 담는 문제 임을 확인
- 큐에 1개가 남을 때까지 해당 작업을 반복하고 1개가 남으면 출력
- n = 1일때를 따로 조건을 만들어 출력
8/22 큐와 스택을 다시 공부하면서 재풀이 했다.
조금 더 원활하게 코드를 작성할 수 있었다.
package BAEKJOON.Silver.Ⅳ;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class NO2164 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Queue<Integer> Q = new LinkedList<>();
int n = sc.nextInt();
for (int i = 1; i <= n; i++) {
Q.offer(i);
}
while(Q.size() != 1) {
Q.poll();
int num = Q.poll();
Q.offer(num);
}
System.out.println(Q.poll());
}
}
8/22 재풀이 진행
package BAEKJOON.Silver.Ⅳ;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class NO2164_2 {
public static void main(String[] args) {
Queue<Integer> q = new LinkedList<>();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 1; i <= n; i++) {
q.add(i);
}
while(true) {
if(q.size() == 1) {
System.out.println(q.peek());
break;
}
q.poll();
int num = q.poll();
q.add(num);
}
}
}
728x90
'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글
백준 JAVA 10448 유레카 이론 (0) | 2022.08.28 |
---|---|
백준 JAVA 2309 일곱 난쟁이 (0) | 2022.08.26 |
백준 JAVA 11659 구간 합 구하기4 (0) | 2022.08.22 |
백준 JAVA 15652 N과M (4) (0) | 2022.08.20 |
백준 JAVA 1769 3의 배수 - 런타임에러 해결필요 (0) | 2022.08.19 |
댓글