[๋ฐฑ์ค€/C++] 13398๋ฒˆ ์—ฐ์†ํ•ฉ 2

2022. 7. 20. 22:58ยทPS/C++
728x90

๋ฐฑ์ค€


๐Ÿค”๋ฌธ์ œ ์ดํ•ด

์—ฐ์†๋œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ ๊ทธ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์ˆ˜์—ด์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ๊ทธ ์ˆ˜์—ด ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์—†์•จ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค.


๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด

ํ•˜๋‚˜๋ฅผ ์–ด๋–ป๊ฒŒ ์—†์•จ๊นŒ ํ•˜๋‹ค๊ฐ€ ๋ฐ”๋กœ ์ „์— ํ‘ผ ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋– ์˜ฌ๋ž๋‹ค.

์•ž์—์„œ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์—ฐ์†ํ•ฉ1์„ ๊ตฌํ•ด์ฃผ๊ณ , ๋’ค์—์„œ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์—ฐ์†ํ•ฉ2์„ ๊ตฌํ•ด์ฃผ๊ณ  ์–ด๋А ์ˆซ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–‘์˜†์œผ๋กœ ์—ฐ์†ํ•ฉ1๊ณผ 2๋ฅผ ๋”ํ•œ ๊ฐ’์ด ๊ฐ€์žฅ ํฌ๋‹ค๋ฉด ๊ทธ ๊ธฐ์ค€ ์ˆซ์ž๋ฅผ ์—†์•ค ๊ฒƒ์ด ๋” ํฐ๊ฑฐ๊ณ , ์—ฐ์†ํ•ฉ1์˜ ์ตœ๋Œ“๊ฐ’์ด ๊ฐ€์žฅ ํฌ๋‹ค๋ฉด ํ•˜๋‚˜๋ฅผ ์—†์• ์ง€ ์•Š์•„๋„ ๊ฐ€์žฅ ํฐ ์—ฐ์†ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ํ’€์—ˆ๋‹ค. 

 

๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

dp[i]๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋งˆ์ง€๋ง‰ ์ˆ˜๋กœ ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ํฐ ์—ฐ์†ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.

dp2[i]๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ฒซ๋ฒˆ์งธ ์ˆ˜๋กœ ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ํฐ ์—ฐ์†ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.

 

1. dp์™€ dp2๋ฅผ ๋ชจ๋‘ ์ž…๋ ฅ๋œ ์ˆ˜์—ด๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , 0๋ฒˆ์งธ dp๋ฅผ maxInt๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

2. i๋Š” 1๋ถ€ํ„ฐ n-1๊นŒ์ง€๋กœ dp[i]์™€ dp[i-1]+arr[i]๊ณผ ๋น„๊ตํ•ด์„œ ๋” ํฐ ๊ฐ’์„ dp[i]์— ๋„ฃ์–ด์ฃผ๊ณ , maxInt์™€ dp[i]๋ฅผ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ maxInt์— ๋„ฃ์–ด์ค€๋‹ค.

3. i๋Š” n-2๋ถ€ํ„ฐ 0๊นŒ์ง€๋กœ dp2[i]์™€ dp2[i+1]+arr[i]๊ณผ ๋น„๊ตํ•ด์„œ ๋” ํฐ ๊ฐ’์„ dp2[i]์— ๋„ฃ์–ด์ฃผ๊ณ , maxInt์™€ dp2[i]๋ฅผ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ maxInt์— ๋„ฃ์–ด์ค€๋‹ค.

4. dp2์˜ n-1๋ฒˆ์งธ ๊ฐ’๊ณผ dp2[0]๋ฒˆ์งธ ๊ฐ’์„ maxInt์™€ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ maxInt์— ๋„ฃ์–ด์ค€๋‹ค.

5. i๋Š” 1๋ถ€ํ„ฐ n-1๊นŒ์ง€๋กœ i๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ dp[i-1]+dp2[i+1]์˜ ๊ฐ’์„ maxInt์™€ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ maxInt์— ๋„ฃ์–ด์ค€๋‹ค.

5. maxInt๊ฐ’ ์ถœ๋ ฅ!

 

 

โŒํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

maxInt๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์ฃผ๋Š” ๊ณผ์ •์ด ์„ธ์„ธํ•˜๊ฒŒ ๋“ค์–ด๊ฐ€์•ผ ํ–ˆ๋‹ค. 


#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

long long dp[100001];
long long dp2[100001];
long long arr[100001];
int n;
long long maxInt;

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

    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
        dp[i] = arr[i];
        dp2[i] = arr[i];
    }
    maxInt = dp[0];
    for (int i = 1; i < n; i++) {
        dp[i] = max(dp[i], dp[i - 1] + arr[i]);
        maxInt = max(maxInt, dp[i]);
    }

    for (int i = n - 2; i >= 0; i--) {
        dp2[i] = max(dp2[i], dp2[i + 1] + arr[i]);
        maxInt = max(maxInt, dp2[i]);
    }
    maxInt = max(maxInt, dp2[n-1]);
    maxInt = max(maxInt, dp2[0]);
    for (int i = 1; i < n; i++) {
        long long tmp = dp[i - 1] + dp2[i + 1];
        if (tmp > maxInt) maxInt = tmp;
    }
    cout << maxInt;

}
728x90

'PS > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/C++] 17143๋ฒˆ ๋‚š์‹œ์™•  (0) 2022.07.26
[๋ฐฑ์ค€/C++] 1766๋ฒˆ ๋ฌธ์ œ์ง‘  (0) 2022.07.21
[๋ฐฑ์ค€/C++] 11054๋ฒˆ ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด  (0) 2022.07.20
[๋ฐฑ์ค€/C++] 11053๋ฒˆ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด  (0) 2022.07.20
[๋ฐฑ์ค€/C++] 5021๋ฒˆ ์™•์œ„๊ณ„์Šน  (0) 2022.07.18
'PS/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 17143๋ฒˆ ๋‚š์‹œ์™•
  • [๋ฐฑ์ค€/C++] 1766๋ฒˆ ๋ฌธ์ œ์ง‘
  • [๋ฐฑ์ค€/C++] 11054๋ฒˆ ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด
  • [๋ฐฑ์ค€/C++] 11053๋ฒˆ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (140)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • Develop (21)
        • Spring (9)
        • Java (12)
        • Python (0)
        • Algorithm (0)
        • ๊ธฐํƒ€ (0)
      • PS (39)
        • C++ (39)
        • Java (0)
      • TIL (33)
      • Book (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ETC (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ž๋ฐ”์˜ ์‹ 
    ๋ฉ€ํ‹ฐ์บ ํผ์Šคit๋ถ€ํŠธ์บ ํ”„
    aws
    TiL
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    C++
    ๊ฐ์ฒด์ง€ํ–ฅ
    ๋ฐฑ์ค€
    ์Šคํ„ฐ๋””
    ํด๋ผ์šฐ๋“œ ํ™œ์šฉ ๋„คํŠธ์›Œํฌ ์—”์ง€๋‹ˆ์–ด ๋ถ€ํŠธ์บ ํ”„
    ์—์Šค๋„ท์‹œ์Šคํ…œ
    ๋ถ€ํŠธ์บ ํ”„ํ›„๊ธฐ
    ์—์Šค๋„ท์‹œ์Šคํ…œ ๋ถ€ํŠธ์บ ํ”„
    ์ž๋ฐ”
    GodOfJava
    EC2
    boj
    1์ผ1๋ฐฑ์ค€
    ์Šคํ”„๋ง ์ž…๋ฌธ
    Java
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 13398๋ฒˆ ์—ฐ์†ํ•ฉ 2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”