[백준] 17626번 Four Squares _ Python

2023. 11. 17. 15:02·Algorithms/DP

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

 

[초기 접근 방법]

- dp[n] = min(dp[n], dp[n-제곱수] + 1     (n >= 제곱수)

 

 

 

[생각]

dp[n]를 문제에서 정의해줘서 쉬운 문제였다.

점화식 또한 쉽게 생각할 수 있는 로직이여서 금방 풀었던 것 같다..

 

아.. 입력 범위 끝인 '50000'을 넣었는데 1-2초? 정도 걸리길래 시간초과 뜨나 해서

시간복잡도 상수 계산까지 했던.. 에피소드가 있다;;

 

 

 

[코드]

# 풀이 시간 : 15분
# 시간복잡도 : O(N*sqrt(N)) → 1100만?
# 공간복잡도 : O(n)
# 참고 : -

import math
import sys
input = sys.stdin.readline

N = int(input())

# dp[i] : 합이 i가 되는 제곱수들의 최소 갯수
    # 점화식
    # dp[n] = min(dp[n], dp[n-제곱수] + 1)
    # 제곱수가 n보다 작을 때까지 비교
dp = [float('inf') for _ in range(N+1)]

# 제곱수들의 dp 값을 1로 초기화
for i in range(int(math.sqrt(N))+1):
    dp[i*i] = 1

# 각 dp값 구하기
for i in range(1, N+1):
    for j in range(1, int(math.sqrt(i))+1):
        dp[i] = min(dp[i], dp[i-(j*j)] + 1)

print(dp[N])
저작자표시 (새창열림)

'Algorithm > DP' 카테고리의 다른 글

[백준] 7579번 앱 _ Python  (0) 2024.02.23
[백준] 14925번 목장 건설하기 _ Python  (1) 2024.01.30
[백준] 2228번 구간 나누기 _ Python  (0) 2023.11.24
[백준] 17626번 Four Squares _ Python  (0) 2023.11.23
[백준] 5557번 1학년 _ Python  (1) 2023.11.21
'Algorithms/DP' 카테고리의 다른 글
  • [백준] 14925번 목장 건설하기 _ Python
  • [백준] 2228번 구간 나누기 _ Python
  • [백준] 17626번 Four Squares _ Python
  • [백준] 5557번 1학년 _ Python
wch_t
wch_t
  • wch_t
    끄적끄적(TIL)
    wch_t
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (171)
      • Architecture (0)
      • Algorithm (67)
        • Math (5)
        • Simulation (1)
        • Data Structure (4)
        • DP (7)
        • Brute Fource (10)
        • Binary Search (6)
        • Greedy (2)
        • Graph (11)
        • Mst (1)
        • Shortest path (10)
        • Two Pointer (1)
        • Tsp (3)
        • Union Find (2)
        • Mitm (1)
      • CS (2)
        • 데이터베이스 (5)
        • 네트워크 (5)
      • DB (6)
      • DevOps (17)
        • AWS (9)
        • Docker (1)
        • CI-CD (5)
      • Error (1)
      • Project (0)
        • kotrip (0)
      • Spring (59)
        • 끄적끄적 (5)
        • 기본 (9)
        • MVC 1 (7)
        • MVC 2 (11)
        • ORM (8)
        • JPA 1 (7)
        • JPA 2 (5)
        • Spring Data Jpa (7)
      • Test (2)
      • TIL (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    response_mode
    form_post
    spring-cloud-starter-bootstrap
    TempTable
    spring-cloud-starter-aws-secrets-manager-config
    애플
    Merge
    scope
    백준 17299 파이썬
    docker: not found
    백준 17289 파이썬
    백준 3015 파이썬
    Sxssf
    view algorithm
    Jenkins
    apache poi
    aws secrets manager
    docker
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
wch_t
[백준] 17626번 Four Squares _ Python
상단으로

티스토리툴바