๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA / ์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ณต์ฃผ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด 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);
    }

}
Comments