[Python] 1024 수열의 합

2026. 2. 19. 23:14·Coding-Test/백준
728x90
반응형

[Silver II] 수열의 합 - 1024 

[문제 링크](https://www.acmicpc.net/problem/1024)


💻 문제 정의

합이 N이면서 길이가 적어도 L 이상인 가장 짧은 음이 아닌 정수 수열을 구하는 문제이다.

💡 접근 및 설계

수학적인 공식을 통해 해당 문제를 해결할 수 있었다.

$x+1$부터 시작하는 길이 $i$의 수열의 합이 $N$일 때, $x+1$이 0 이상인 정수의 수열을 구하는 문제와 같다. $ix$로 정리하였을 때 $x+1$이 0 이상, $L$이 100 이하의 $i$의 최솟값을 구하는 문제가 된다.

✏️ 알고리즘 풀이

for i in range(L, 101):
    ix = N - i*(i+1)//2

    if ix % i == 0:
        x = ix // i
        if x+1 >= 0:
            print(*(i for i in range(x+1, x+i+1)))
            break

위의 수식을 코드로 옮기면 다음과 같다.

🗒️ 최종 제출 코드

# 1024 수열의 합

N, L = map(int, input().split())

for i in range(L, 101):
    ix = N - i*(i+1)//2

    if ix % i == 0:
        x = ix // i
        if x+1 >= 0:
            print(*(i for i in range(x+1, x+i+1)))
            break

else:
    print(-1)

💭 오늘의 회고

728x90
반응형
저작자표시 (새창열림)

'Coding-Test > 백준' 카테고리의 다른 글

[Python] 2636 치즈  (0) 2026.03.03
[Python] 18513 샘터  (0) 2026.03.02
[Python] 13913 숨바꼭질 4  (0) 2026.01.31
[Python] 16562 친구비  (0) 2026.01.31
[Python] 2234 성곽  (0) 2026.01.22
'Coding-Test/백준' 카테고리의 다른 글
  • [Python] 2636 치즈
  • [Python] 18513 샘터
  • [Python] 13913 숨바꼭질 4
  • [Python] 16562 친구비
희완
희완
희완한 코딩일상
    반응형
  • 희완
    Code-Heewan
    희완
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Python
        • 가상환경
      • Algorithm
      • Coding-Test
        • 백준
        • 프로그래머스
        • 항해99
      • Data-Analysis
      • 웹 개발
        • django
      • AWS
      • 공모전
      • Mobile
  • 링크

    • Github
  • 300x250
  • hELLO· Designed By정상우.v4.10.3
희완
[Python] 1024 수열의 합
상단으로

티스토리툴바