[백준] 2559번 : 수열 | C++

2024. 9. 17. 16:18·백준 문제풀이

문제 : https://www.acmicpc.net/problem/2559

 

풀이 로직 :

1. 부분합을 생각하기

2. 반복문 시작을 0이 아닌 1로 하기

3. 최대 최솟값 찾는 방법 2가지

    a) max_element(배열 시작, 배열 종료) -> 전체 비교할 값을 배열에 넣어두고, 마지막에 한번에 찾는다

    b) max(현재 최대값, 새로운 값) -> 반복문을 돌면서 계속 최댓값을 갱신해나가는 방법. 이를 위해선 (최대값 찾는 경우니까)가능한 가장 최소값을 초기값으로 둔 후, 최대값을 찾아나서야 한다.

#include<bits/stdc++.h>

using namespace std;

int n,k; //전체 날짜 개수, 연속날짜 개수
int v[100000];
int sum[100000]; //각 자리까지의 합을 더해서 저장

vector<int> sumK;
int ans = -10000000;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin>>n>>k;

    for(int i=0; i<n; i++){
        cin >> v[i];
        if(i==0){
        //i=1부터 시작하여 i<=n 으로 범위를 설정하면 따로 i==0인 경우의 sum값을 제외하는 과정 안거쳐도 된다
            sum[i]=v[i];        
            }else{
            sum[i]=sum[i-1]+v[i];
        }
    }
    
    ans = max(sum[k-1],ans);
    for(int i=k;i<n;i++){
        ans= max(sum[i]-sum[i-k], ans);
    }
    cout <<ans;

    sumK.push_back(sum[k-1]);//하나씩 넣은 후에, 그 배열 전체에서 멕스값 찾는 방법 

    for(int i=k; i<n; i++){
        int curSum = sum[i]-sum[i-k];
        sumK.push_back(curSum);
    }

    cout << *max_element(sumK.begin(),sumK.end());

    // 하나씩 비교하며 실시간으로 멕스값 업데이트 하는 방법 -> 초기 멕스값은 최소 숫자로 둬야함 
    // 최소숫자 찾는 방법
    // int min = -10000000;
}

'백준 문제풀이' 카테고리의 다른 글

[백준] 9375번 : 패션왕 신해빈 | C++  (1) 2024.09.17
[백준] 1620 : 나는야 포켓몬 마스터 이다솜 | C++  (2) 2024.09.17
[백준/boj] 9996번 : 한국이 그리울 땐 서버에 접속하지 | C++  (0) 2024.09.17
[백준/boj] 2309번: 일곱 난쟁이 | C++  (0) 2024.09.11
[백준/boj] 1991번: 트리 순회 | C++  (2) 2024.04.15
'백준 문제풀이' 카테고리의 다른 글
  • [백준] 9375번 : 패션왕 신해빈 | C++
  • [백준] 1620 : 나는야 포켓몬 마스터 이다솜 | C++
  • [백준/boj] 9996번 : 한국이 그리울 땐 서버에 접속하지 | C++
  • [백준/boj] 2309번: 일곱 난쟁이 | C++
c_jm
c_jm
  • c_jm
    c_jm
    c_jm

    🎋 어제보다 발전한 오늘

  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 프로젝트 (6)
      • 백준 문제풀이 (19)
      • 프로그래머스 문제풀이 (4)
      • 공부 (1)
      • 문제 해결 (2)
      • 기타 (4)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    도커
    리버스 프록시
    jquery
    docker
    reverse proxy
    티스토리 다크모드
    글자색
    html
    docker-compose.yml
    홈서버
    도커컴포즈
    nginx
    인라인 css
    복붙
    백준 #1152 #c++
    docker-compose
    리버스 프록시 서버
    코드블럭
    다크모드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
c_jm
[백준] 2559번 : 수열 | C++
상단으로

티스토리툴바