๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA / ์ฝ๋ฉํ ์คํธ] ๊ณต์ฃผ ๊ตฌํ๊ธฐ ๋ณธ๋ฌธ
[JAVA / ์ฝ๋ฉํ ์คํธ] ๊ณต์ฃผ ๊ตฌํ๊ธฐ
์์ผ์ด 2022. 1. 15. 13:46์ค๋ช
์ ๋ณด ์๊ตญ์ ์ด์ ๋๋ผ ์ธ๋๋ธ ๊ณต์ฃผ๊ฐ ์ฒ์์ ๊ดด๋ฌผ์๊ฒ ์กํ๊ฐ์ต๋๋ค.
์ ๋ณด ์๊ตญ์๋ ์์๊ฐ N๋ช ์ด ์๋๋ฐ ์๋ก ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ๊ฒ ๋ค๊ณ ํฉ๋๋ค.
์ ๋ณด์๊ตญ์ ์์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ ์์๋ฅผ ๊ฒฐ์ ํ๊ธฐ๋ก ํ์ต๋๋ค.
์์ ์์๋ค์ ๋์ด ์์ผ๋ก 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ์ฐจ๋ก๋ก ๋ฒํธ๋ฅผ ๋งค๊ธด๋ค.
๊ทธ๋ฆฌ๊ณ 1๋ฒ ์์๋ถํฐ N๋ฒ ์์๊น์ง ์์๋๋ก ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ฉฐ ๋๊ทธ๋๊ฒ ์๊ฒ ํ๋ค.
๊ทธ๋ฆฌ๊ณ 1๋ฒ ์์๋ถํฐ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ฉฐ 1๋ถํฐ ์์ํ์ฌ ๋ฒํธ๋ฅผ ์ธ์น๊ฒ ํ๋ค.
ํ ์์๊ฐ K(ํน์ ์ซ์)๋ฅผ ์ธ์น๋ฉด ๊ทธ ์์๋ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ๋๋ฐ์ ์ ์ธ๋๊ณ ์ ๋ฐ์ผ๋ก ๋์ค๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ์์๋ถํฐ ๋ค์ 1๋ถํฐ ์์ํ์ฌ ๋ฒํธ๋ฅผ ์ธ์น๋ค.
์ด๋ ๊ฒ ํด์ ๋ง์ง๋ง๊น์ง ๋จ์ ์์๊ฐ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ ์ ์๋ค.
์๋ฅผ ๋ค์ด ์ด 8๋ช ์ ์์๊ฐ ์๊ณ , 3์ ์ธ์น ์์๊ฐ ์ ์ธ๋๋ค๊ณ ํ์. ์ฒ์์๋ 3๋ฒ ์์๊ฐ 3์ ์ธ์ณ ์ ์ธ๋๋ค.
์ด์ด 6, 1, 5, 2, 8, 4๋ฒ ์์๊ฐ ์ฐจ๋ก๋๋ก ์ ์ธ๋๊ณ ๋ง์ง๋ง๊น์ง ๋จ๊ฒ ๋ 7๋ฒ ์์์๊ฒ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ๊ฐ๋๋ค.
N๊ณผ K๊ฐ ์ฃผ์ด์ง ๋ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ ์์์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ฐ์ N(5<=N<=1,000)๊ณผ K(2<=K<=9)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ ์ค์ ๋ง์ง๋ง ๋จ์ ์์์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ
8 3
์์ ์ถ๋ ฅ
7
import java.util.*;
public class Main {
public static void solution(int input1, int input2){
int result = 0;
Queue<Integer> qu = new LinkedList<>();
for(int i=1; i<=input1; i++){
qu.offer(i);
}
while(qu.size() != 1){
result++;
int tmp = qu.poll();
if (result != input2){
qu.offer(tmp);
}else{
result = 0;
}
}
System.out.println(qu.poll());
}
public static void main(String[] args) {
Main main = new Main();
Scanner kb = new Scanner(System.in);
int input1 = kb.nextInt();
int input2 = kb.nextInt();
Main.solution(input1, input2);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] Least Recently Used (0) | 2022.01.18 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์๊ธ์ค (0) | 2022.01.17 |
[JAVA/์ฝ๋ฉํ ์คํธ] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ(์นด์นด์ค) (0) | 2022.01.13 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ๊ธธ์ด ์ฐ์๋ถ๋ถ์์ด (0) | 2022.01.13 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ์ ์ ๊ตฌํ๊ธฐ(DFS) (0) | 2021.11.30 |