[백준][c++] 1024-수열의 합

2025. 4. 13. 11:44·알고리즘/문제풀이 :백준

📌문제 설명

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

 

N 과 L이 주어졌을 때 연속되는 숫자의 합이 N이고 숫자의 연속 개수가 최소 L 이상인 수열을 구하는 문제였다.

💡생각

처음에 덱을 사용해서 앞에서 부터 한개씩 더해주고 N을 초과한다면 앞에서 빼고 다시 뒤에 넣어주는 방식을 진행을 했는데 이렇게 하니까 최소의 개수를 구할 수 없었다.

🔥풀이

#include <iostream>

using namespace std;

/*
 * N = x + (x+1) + (x+2) + ---- + (x + (L-1))
 * N = (L * x) + (1+2+3+ ---- +(L-1))
 * N = (L * x) + t (t = 1+2+3---+(L-1))
 * t = (L+(L-1) / 2
 */

int main(){

    int N;
    int L;

    cin >> N >> L;

    int start = -1;
    int count = 0;

    for(int i = L; i <= 100; i++){
        int t = i * (i-1) /2;

        if((N - t) % i == 0 && (N - t) / i >= 0){
            start = (N - t) / i;
            count = i;
            break;
        }
    }
    if(start < 0){
        cout << start;
        return 0;
    }
    for(int i = 0 ;i < count; i++){
        cout << start + i << " ";
    }

}

현재 수학에 너무 약하다는 생각이 드는 거 같다. 생각을 할 때 수학과 관련해서 생각도 해보는 걸 버릇처럼 해야 다양한 방식으로 접근이 가능하겠다.

 

 


📕참고

https://miiinnn23.tistory.com/72

 

[백준] 1024번: 수열의 합 - C++

문제 N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나

miiinnn23.tistory.com

이 블로그를 보면서 이해를 많이 할 수 있었던 거 같다.

'알고리즘 > 문제풀이 :백준' 카테고리의 다른 글

[백준][C++] 1213-팰린드롬 만들기  (0) 2025.04.30
[백준][C++] 토너먼트  (0) 2025.04.29
[백준][c++] 1002-터렛  (0) 2025.04.13
[백준][JAVA] 2493 탑  (1) 2025.01.20
[백준][Java] 10799 - 쇠막대기  (1) 2025.01.15
'알고리즘/문제풀이 :백준' 카테고리의 다른 글
  • [백준][C++] 1213-팰린드롬 만들기
  • [백준][C++] 토너먼트
  • [백준][c++] 1002-터렛
  • [백준][JAVA] 2493 탑
각쿄
각쿄
  • 각쿄
    개발일기
    각쿄
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • 알고리즘 (13)
        • 문제풀이 : 프로그래머스 (0)
        • 문제풀이 :백준 (13)
        • 알고리즘 개념 (0)
      • 자료구조 (2)
      • 기초 (0)
        • 운영체제 (0)
        • 디자인패턴 (0)
        • 웹 (0)
        • 컴퓨터 네트워크 (0)
      • Spring (0)
      • IT이슈 (0)
      • 자바(Java) (5)
      • 에러(Error) (2)
        • Mysql (1)
      • 활동 (0)
        • 혼공학습단13기 - 혼자 공부하는 컴퓨터구조 운영.. (0)
      • 기능 구현! (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    백준
    다이나믹 프로그래밍
    이분탐색
    스택
    Stack
    Java
    mysql
    혼공학습단
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
각쿄
[백준][c++] 1024-수열의 합
상단으로

티스토리툴바