[C++] 백준 1912 연속합

2024. 5. 27. 12:05·Algorithm/Baekjoon
#include <iostream>
#include <vector>

using namespace std;

int main()
{
	int result = -1001;
	vector<int> dp;

	int n;
	cin >> n;

	for (int i = 0; i < n; i++)
	{
		int temp;
		cin >> temp;
		dp.push_back(temp);
	}

	result = max(dp[0], result);

	for (int i = 1; i < n; i++)
	{
		dp[i] = max(dp[i - 1] + dp[i], dp[i]);

		result = max(dp[i], result);
	}

	cout << result;

	return 0;
}

 

풀이

1. 우선 결과 값을 쌓아가면서 먼저 계산을 해본다. dp적 사고를 통해 이전 값+현재값과 현재값을 비교를해준다.

2. max를 계속 업데이트하면서 가장 큰 값을 저장한다.

3. 현재 값보다 쌓아온 값이 더 작으면 갱신된다.

 

느낀점

아직도 dp적사고가 되지않는 것 같다. 좀 더 점화식을 세우는 것을 연습해야겠다.

 

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

 

저작자표시 (새창열림)

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

[C++] 백준 1149 RGB거리  (0) 2024.06.04
[C++] 백준 2156 포도주 시식  (0) 2024.05.29
[C++] 백준 9935 문자열 폭발  (0) 2024.05.15
[C++] 백준 10816 숫자 카드2  (0) 2024.05.14
[C++] 백준 2225 합분해  (0) 2024.05.13
'Algorithm/Baekjoon' 카테고리의 다른 글
  • [C++] 백준 1149 RGB거리
  • [C++] 백준 2156 포도주 시식
  • [C++] 백준 9935 문자열 폭발
  • [C++] 백준 10816 숫자 카드2
chanheess
chanheess
'왜' 그렇게 했는가?에 대한 생각으로 공부 및 작업의 저장관리
  • chanheess
    왜 그렇게 생각했는가?
    chanheess
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Backend Programming
      • Game Programming
        • Unreal
        • DirectX
      • C++
        • Memo
        • Basic
        • Effective Modern
      • Algorithm
        • Memo
        • Baekjoon
        • Programmers
        • HackerRank, LeetCode
      • Data Structure
      • Design Pattern
      • Etc
        • Memo
        • Daily Log
        • Book
  • 최근 글

  • 최근 댓글

  • 태그

    티스토리챌린지
    백준
    SpringSecurity
    JWT
    dfs
    spring
    Java
    JPA
    c++ 기초 플러스
    프로그래머스
    dp
    알고리즘
    오블완
    위클리 챌린지
  • hELLO· Designed By정상우.v4.10.0
chanheess
[C++] 백준 1912 연속합
상단으로

티스토리툴바