๐ŸŽฏ Coding Test

[๋ฐฑ์ค€] 9095๋ฒˆ 1, 2, 3 ๋”ํ•˜๊ธฐ ์ž๋ฐ” DP

์—ฐ_์šฐ๋ฆฌ 2022. 3. 25. 14:30
๋ฐ˜์‘ํ˜•

๋ชฉ์ฐจ

     

    https://www.acmicpc.net/problem/9095

     

    9095๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ

    ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

    www.acmicpc.net

     

     

     

     

    ๋ฌธ์ œํ’€์ด

    ์‹œ๊ฐ„์ œํ•œ์ด 1์ดˆ์ด๋ฏ€๋กœ ์ผ๋ฐ˜์ ์ธ for๋ฌธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. DP๋กœ ํ’€์–ด๋ณด๊ฒ ๋‹ค.

    ์ •์ˆ˜ n์€ ์–‘์ˆ˜์ด๋ฉฐ 11๋ณด๋‹ค ์ž‘๋‹ค. 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์•ผํ•œ๋‹ค.

    [0]~[10]์ธ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ–ˆ๋‹ค๊ณ ํ•˜์ž. [0]์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. 

     

    ์ž˜ ์‚ดํŽด๋ณด๋ฉด

    [2]๋Š” [1]์— +1์„ ๋”ํ•œ๊ฐ’๊ณผ ์ž๊ธฐ์ž์‹ ์ธ 2๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ 

    [3]์€ [2]์— +1์„ ๋”ํ•œ๊ฐ’๊ณผ ์ž๊ธฐ์ž์‹ ์ธ 3์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

    [4]๋Š” [3]+1, [2]+2, [1]+3์„ ๋”ํ•œ๊ฐ’์„ ๊ฐ€์ง€๊ณ ์žˆ์ง€๋งŒ ์ž๊ธฐ์ž์‹ ์ธ "4"๋Š” ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธ๋˜์—ˆ๋‹ค.

    [5]๋Š” [4]+1, [3]+2, [2]+3, [1]+4๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ "4"๋Š” ๊ตฌ์„ฑ์š”์†Œ์ธ 1, 2, 3์ด ์•„๋‹ˆ๊ธฐ๋•Œ๋ฌธ์— ์ œ์™ธ๋˜์—ˆ๋‹ค.

     

     

    ์ œ์ถœ์ฝ”๋“œ

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class Main {
    
        static int[] nums = new int[11];
    
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int T = Integer.parseInt(br.readLine());
            nums[0] = 0;
            nums[1] = 1;
            nums[2] = 2;
            nums[3] = 4;
    
            //๋ฐฐ์—ด ๊ฐ’ ์…‹ํŒ…
            for (int i = 4; i <= 10; i++) {
                 nums[i] = nums[i-3] + nums[i-2] + nums[i-1];
            }
    
            //์ถœ๋ ฅ
            for (int t = 0; t < T; t++) {
                int n = Integer.parseInt(br.readLine());
                System.out.println(nums[n]);
            }
        }
    
    }
    ๋ฐ˜์‘ํ˜•
    • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
    • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
    • ํŠธ์œ„ํ„ฐ ๊ณต์œ ํ•˜๊ธฐ
    • ๊ตฌ๊ธ€ ํ”Œ๋Ÿฌ์Šค ๊ณต์œ ํ•˜๊ธฐ
    • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ