BOJ_S4_17626
π [S4_17626] Four Squares
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] dp = new int[n+1];
// 0μ μ κ³±μ ν©μΌλ‘ λνλΈ κ°μ ( 0 )
dp[0] = 0;
// 1μ μ κ³±μ ν©μΌλ‘ λνλΈ κ°μ ( 1 * 1 )
dp[1] = 1;
for(int i=2; i<=n; i++) {
int min = Integer.MAX_VALUE;
for(int j=1; j*j<=i; j++) {
// μ΅μκ°μ ꡬνλ€
min = Math.min(min, dp[i-(j*j)]);
}
// μ΅μκ°μ 1μ λν΄μ€λ€
dp[i] = min+1;
}
// μΆλ ₯
System.out.println(dp[n]);
}
}
π€ λμ μκ°
μ²μμ 그리λνκ² μ 체λ₯Ό λ€ λλ©΄μ κ°μ₯ ν° μλΆν° λΉΌμ£Όλ©΄μ ꡬνλ €κ³ νλ€.
κ·Όλ° κ΅¬νλ€ λ³΄λ λͺ¨λ μκ° ν° μλΆν° λΊλ€κ³ μ΅μμ κ°μκ° λλ κ² μλλΌλ κ²μ μκ³ λ°©ν₯μ λ°κΏ¨λ€.
dpλ‘ νμλλ° μ²μλΆν° λμ΄ν΄λ³΄λ κ·μΉμ μ°Ύμ μ μμλ€.
μ΄ κ³Όμ μ ν΅ν΄ κ°μ ꡬν΄λκ°λ©΄ λλ€ !!
dp[i] = dp[ i - ( i μ κ³±κ·Ό λ³΄λ€ μκ±°λ κ°μ κ° μ μ κ³± ) ] κ°λ€ μ€ μ΅μκ°μ +1
μ ν΄μ£Όλ©΄ λλ€