๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Data Structure, Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 1463๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ ์ž๋ฐ” ๋ฌธ์ œ ํ’€์ด

by Wonit 2021. 1. 26.

๋ฌธ์ œ

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1463๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค.
์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ

์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 106๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž.

ํ•ด๊ฒฐ๋ฒ•

์šฐ์„  ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ ๋ถ€ํ„ฐ ํ•ด๋ณด์ž.

 

๋ฌธ์ œ์—์„œ ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด์„ ์ฃผ์—ˆ๋‹ค.

  1. x๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.
  2. x๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค.
  3. 1์„ ๋บ€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ์กฐ๊ฑด์„ ์ ์ ˆํžˆ ์ด์šฉํ•ด์„œ ์ž…๋ ฅ๋œ ์ˆ˜ n์ด ๊ฐ€์žฅ ์ตœ๋‹จ์˜ ํšŸ์ˆ˜๋กœ 1์ด ๋˜๋Š” ๊ณผ์ •์„ ๋ฌป๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ ‘๊ทผ๋ฒ•

์–ด๋–ค ์ˆ˜ n(๋ฌธ์ œ ์กฐ๊ฑด์—์„œ ๋ฐ”๋กœ 1์ด ๋  ์ˆ˜ ์žˆ๋Š” 1, 2, 3์„ ์ œ์™ธํ•œ ์ˆ˜)์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

๊ทธ๋Ÿผ ๊ทธ n์€ ์ตœ๋Œ€๋กœ n-1๋ฒˆ์˜ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜๋‹ค.


10์ด ๋“ค์–ด์˜ค๋ฉด -1์„ 9๋ฒˆ ํ•˜๋ฉด 1์ด ๋˜๋“ฏ์ด.

 

๊ทธ๋Ÿผ ๋‹ค์‹œ ์กฐ๊ฑด์œผ๋กœ ๋Œ์•„๊ฐ€์„œ, x๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค๋Š” ์†Œ๋ฆฌ๋Š n/3 ์„ ํ•œ ์ˆ˜์˜ ์ตœ๋‹จ ํšŸ์ˆ˜์—์„œ ํ•œ ๋ฒˆ๋งŒ ๋” ํ•ด์ฃผ๋ฉด ๋˜์ง€ ์•Š์„๊นŒ?


๋˜‘๊ฐ™์ด 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด n/2๋ฅผ ํ•œ ์ตœ๋‹จ ํšŸ์ˆ˜์—์„œ ํ•œ ๋ฒˆ๋งŒ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ด๋‹ค.


์šฐ์„  arr ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๋ฐฐ์—ด์— ์ธ๋ฑ์Šค๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ n์ด ๋  ๊ฒƒ์ด๋ฉฐ arr[n]์˜ ๊ฐ’์—๋Š” ์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.

์˜ค๋‹ต ํ›„๋ณด

๋‚˜๋„ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ด๊ฒƒ ๋•Œ๋ฌธ์— ํ•œ์ฐธ ๊ฑธ๋ ธ๋‹ค.


๋ฌธ์ œ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์—ˆ๋”๋ผ๋ฉด ์–ด๋ ค์›€ ์—†์ด ํ’€์—ˆ์„ ํ…๋ฐ, ๋ฌธ์ œ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์ง€ ์•Š์•˜๊ณ  ์ถฉ๋ถ„ํžˆ ์ƒ๊ฐํ•  ์‹œ๊ฐ„์„ ๊ฐ–์ง€ ์•Š๊ณ  ๋ฌดํ„ฑ๋Œ€๊ณ  ๋ฌธ์ œ๋กœ ๋“ค์–ด๊ฐ”๋‹ค.

1์„ ์ƒ๊ฐํ•ด๋ณด์ž.


1์„ 1๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ช‡ ๋ฒˆ์˜ ๊ฒฝ์šฐ๊ฐ€ ํ•„์š”ํ• ๊นŒ?


0๋ฒˆ์˜ ๊ฐ€์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค.


์™œ? 1์€ ์ž์ฒด๋กœ 1์ด๋‹ˆ๊นŒ.

์ •๋‹ต ์ฝ”๋“œ

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        int[] arr = new int[10000001];
        arr[1] = 0; arr[2] = 1; arr[3] = 1;

        for (int i = 4; i <= n; i++) {
            arr[i] = arr[i-1] + 1;
            if(i % 2 == 0) arr[i] = Math.min(arr[i/2] + 1, arr[i]);
            if(i % 3 == 0) arr[i] = Math.min(arr[i/3] + 1, arr[i]);
        }
        bw.write(String.valueOf(arr[n]));
        bw.flush();
        bw.close();
    }
}

์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€