[๋ฐฑ์ค€/Java] ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ 1699

2023. 11. 30. 12:52ยท ๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š–/๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—
๋ชฉ์ฐจ
  1. ๋ฌธ์ œ
  2. ํ’€์ด
  3. ์ •๋‹ต 
๋ฐ˜์‘ํ˜•

 

๋ฌธ์ œ

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

 

1699๋ฒˆ: ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ

์–ด๋–ค ์ž์—ฐ์ˆ˜ N์€ ๊ทธ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ œ๊ณฑ์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 11=32+12+12(3๊ฐœ ํ•ญ)์ด๋‹ค. ์ด๋Ÿฐ ํ‘œํ˜„๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, 11์˜ ๊ฒฝ์šฐ 11=22+22+12+12+12(5๊ฐœ ํ•ญ)๋„ ๊ฐ€๋Šฅํ•˜๋‹ค

www.acmicpc.net

 

 

 

 

 

 

 

 

 

 

 

 

ํ’€์ด

์ฒ˜์Œ์—๋Š” ํฐ ์ œ๊ณฑ์„ ๋นผ์ฃผ๊ณ  ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์‹์œผ๋กœ ์งฐ๋‹ค.

(์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋  ์ค„ ,,, ) 

 

์˜ˆ๋ฅผ ๋“ค์–ด 41 = 16 + 25๋กœ 2 ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๊ณ , 36 + 4 + 1๋กœ 3 ์ด ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ์ง  ๊ฑด ํฐ ์ œ๊ณฑ์„ ๋นผ์ฃผ๊ณ  ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ์‹์œผ๋กœ ์งฐ๊ธฐ ๋•Œ๋ฌธ์— 36 + 4 + 1๋กœ 3์ด ๋ฐ˜ํ™˜๋˜์–ด ํ‹€๋ฆฐ ๋กœ์ง์ด ๋˜์—ˆ๋‹ค. 

 

๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ์„ ์–ธํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๋„ฃ์–ด์„œ ๋‹ค์‹œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. 

 

 

์ž…๋ ฅ๊ฐ’ 10์˜ ์ตœ์†Ÿ๊ฐ’์€ 2์ด๋‹ค.

arr[1] = 1

arr[2] = 2

arr[3] = 3

arr[4] = 2^2 = 1 

arr[5] = arr[4] + arr[1] = 1 + 1 = 2

arr[6] = arr[4] + arr[2] = 1 + 2 = 3

arr[7] = arr[4] + arr[3] = 1 + 3 = 4

arr[8] = arr[4] + arr[4] =  1 + 1 = 2 

arr[9] = 3^2 = 1 

arr[10] = arr[9] + arr[1] = 1 + 1 = 2  

              arr[6] + arr[4] = 3 + 1 = 4

 

์œ„์ฒ˜๋Ÿผ arr[10] ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์ด ๊ตฌํ•ด์งˆ ๊ฒฝ์šฐ Math.min()์„ ํ†ตํ•ด ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋กœ์ง์„ ๋งŒ๋“ค์–ด์คฌ๋‹ค.

 

 

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
import java.util.StringTokenizer;

public class Main {
    public static int[] arr = new int[100001];

    /**
     * ์ตœ์†Œ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ
     * 
     * @param x
     */
    public static void square(int x) {
        int num = (int) Math.sqrt(x);
        int min = 10001;
        // ์ œ๊ณฑ๊ทผ์ด๋ผ๋ฉด 1๊ฐœ 
        if (num * num == x) {
            arr[x] = 1;
        } else if (num >= 2) {
            for (int i = 2; i <= num; i++) {
                int number = x - i * i;
                if (arr[number] == 0) {
                    square(number);
                }
                if (arr[x - number] == 0) {
                    square(x - number);
                }
                min = Math.min((arr[number] + arr[x - number]), min);
            }
            arr[x] = min;
        }

    }

    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 num = Integer.parseInt(br.readLine());

		// 1, 2, 3์€ ํ•œ ๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฐ–์— ์—†์œผ๋ฏ€๋กœ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • 
        arr[1] = 1;
        arr[2] = 2;
        arr[3] = 3;

        square(num);

        bw.write(String.valueOf(arr[num]));
        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

 

 

 

 

์ •๋‹ต 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•

'๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š– > ๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/Java] ๊ฒŒ์ž„์„ ๋งŒ๋“  ๋™์ค€์ด 2847  (0) 2023.12.02
[๋ฐฑ์ค€/Java] 1๋กœ ๋งŒ๋“ค๊ธฐ 1463  (0) 2023.12.01
[๋ฐฑ์ค€/Java] ๋„ํ‚ค๋„ํ‚ค ๊ฐ„์‹๋“œ๋ฆฌ๋ฏธ 12789  (0) 2023.11.28
[๋ฐฑ์ค€/Java] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 16935  (1) 2023.11.27
[๋ฐฑ์ค€/Java] ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ 2174  (1) 2023.11.26
  1. ๋ฌธ์ œ
  2. ํ’€์ด
  3. ์ •๋‹ต 
'๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š–/๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/Java] ๊ฒŒ์ž„์„ ๋งŒ๋“  ๋™์ค€์ด 2847
  • [๋ฐฑ์ค€/Java] 1๋กœ ๋งŒ๋“ค๊ธฐ 1463
  • [๋ฐฑ์ค€/Java] ๋„ํ‚ค๋„ํ‚ค ๊ฐ„์‹๋“œ๋ฆฌ๋ฏธ 12789
  • [๋ฐฑ์ค€/Java] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 16935
ํ•ด๋ฒ„๋‹ˆ
ํ•ด๋ฒ„๋‹ˆ
๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋ฒ„๋‹ˆ
DevNight
ํ•ด๋ฒ„๋‹ˆ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด๋ณด๊ธฐ (194)
    • ๐š๐šŽ๐š๐š›๐š˜๐šœ๐š™๐šŽ๐šŒ๐š๐š’๐šŸ๐šŽ๐šœ (5)
      • ๐šƒ๐š’๐š™๐šœ (2)
      • ํšŒ๊ณ  (3)
      • ์‹ค์ˆ˜ ๋ชจ์Œ์ง‘ (0)
    • ๐™ฟ๐š›๐š˜๐š“๐šŽ๐šŒ๐š (3)
      • ๐™บ๐™พ๐š‚๐šƒ๐™ฐ ๐š†๐šŽ๐š‹ ๐™ฟ๐š›๐š˜๐š“๐šŽ๐šŒ๐š (2)
    • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐š’๐š—๐š ๐™ป๐šŠ๐š—๐š๐šž๐šŠ๐š๐šŽ (16)
      • ๐™ท๐šƒ๐™ผ๐™ป (6)
      • ๐™ฒ๐š‚๐š‚ (1)
      • ๐™น๐™ฐ๐š…๐™ฐ (1)
      • ๐™น๐šŠ๐šŸ๐šŠ๐š‚๐šŒ๐š›๐š’๐š™๐š (7)
      • ๐šƒ๐šข๐š™๐šŽ๐š‚๐šŒ๐š›๐š’๐š™๐š (1)
    • ๐™ฑ๐šŠ๐šŒ๐š”๐šŽ๐š—๐š (4)
      • ๐š‚๐š™๐š›๐š’๐š—๐š ๐™ฑ๐š˜๐š˜๐š (0)
      • Spring (2)
      • ํŒŒ์ผ ์ฒ˜๋ฆฌ (1)
      • ๐™น๐š‚๐™ฟ (1)
    • ๐™ต๐š›๐š˜๐š—๐š๐šŽ๐š—๐š (5)
      • ๐š๐šŽ๐šŠ๐šŒ๐š (3)
      • ๐š…๐šž๐šŽ.๐š“๐šœ (2)
    • ๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š– (32)
      • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐šŽ๐š›๐šœ (6)
      • ๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š— (24)
    • ๐™ณ๐™ฐ๐šƒ๐™ฐ๐™ฑ๐™ฐ๐š‚๐™ด (16)
      • ๐š‚๐š€๐™ป (1)
      • ๐™ฟ๐š˜๐šœ๐š๐š๐š›๐šŽ๐š‚๐š€๐™ป (1)
      • ๐™ผ๐šข๐š‚๐š€๐™ป (3)
      • ๐™พ๐š›๐šŠ๐šŒ๐š•๐šŽ (0)
      • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐šŽ๐š›๐šœ (1)
    • ๐™ณ๐šŽ๐šŸ๐šŽ๐š•๐š˜๐š™๐š–๐šŽ๐š—๐š ๐šƒ๐š˜๐š˜๐š•๐šœ (4)
      • ๐™ธ๐š—๐š๐šŽ๐š•๐š•๐š’๐™น (0)
      • ๐™ด๐šŒ๐š•๐š’๐š™๐šœ๐šŽ (1)
      • ๐š…๐š‚๐™ฒ๐š˜๐š๐šŽ (0)
      • ๐™ฑ๐šž๐š’๐š•๐š ๐š‚๐šŒ๐š›๐š’๐š™๐š๐šœ (1)
    • ๐š…๐šŽ๐š›๐šœ๐š’๐š˜๐š— ๐™ฒ๐š˜๐š—๐š๐š›๐š˜๐š• (0)
      • ๐™ถ๐š’๐š (0)
      • ๐™ถ๐š’๐š๐™ท๐šž๐š‹ (0)
      • ๐š‚๐š…๐™ฝ (0)
    • ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ (2)
      • ๐™ฐ๐š†๐š‚ (2)
    • ๐™ธ๐šƒ (15)
      • ๐š‚๐š…๐™ฝ (3)
    • ๐™น๐šŠ๐šŸ๐šœ๐š‚๐šŒ๐š›๐š’๐š™๐š (4)
      • ๐š…๐šž๐šŽ.๐š“๐šœ (0)
    • ๐š†๐šŽ๐š‹ (9)
      • ๐šŠ๐š ๐šœ (0)
      • ๐™ท๐šƒ๐™ผ๐™ป (0)
      • ๐™ฒ๐š‚๐š‚ (2)
    • ๐™น๐šŠ๐šŸ๐šŠ (56)
      • ๐š‚๐š™๐š›๐š’๐š—๐š ๐™ฑ๐š˜๐š˜๐š (3)
    • ๐™ถ๐š’๐š๐™ท๐šž๐š‹ (10)
    • ํ™˜๊ฒฝ์„ค์ • (10)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • web
  • PostgreSQL
  • database
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • php
  • ์ž๋ฐ”
  • ์ž๋ฐ”์˜์ •์„
  • ์˜ค๋ธ”์™„
  • ๋ฐฐ์—ด
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • html
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • Java
  • spring
  • ์ดํด๋ฆฝ์Šค
  • JavaScript
  • ๋ฐฑ์ค€
  • React
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.3.0
ํ•ด๋ฒ„๋‹ˆ
[๋ฐฑ์ค€/Java] ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ 1699
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.