import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.StringTokenizer;
public class SaveThePrincess {
static class Main {
public int solution(int N, int K) {
int answer = 0;
Deque<Integer> princes = new ArrayDeque<>();
for (int i = 1; i <= N; i++) {
princes.add(i);
}
while (princes.size() != 1) {
for (int i = 1; i < K; i++) {
princes.addLast(princes.pollFirst());
}
princes.pollFirst();
}
answer = princes.peek();
return answer;
}
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
Main main = new Main();
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
int N = Integer.parseInt(stringTokenizer.nextToken());
int K = Integer.parseInt(stringTokenizer.nextToken());
int result = main.solution(N, K);
bufferedReader.close();
bufferedWriter.write(String.valueOf(result));
bufferedWriter.flush();
bufferedWriter.close();
}
}
}
📌 문제
⭐️ 아이디어
🤔 고민한 내용
이것도 Stack인가?
싶었는데 문제를 읽고데크
를 사용하기로 결정했다.💪 새롭게 배운 내용
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
🏋️♀️
시도횟수
: 1회 | ⏱걸린시간
: 130ms | 💾메모리
: 26MB참고한 자료