본문 바로가기

Dev/BAEKJOON 백준

[백준/BOJ] 백준 코딩 알고리즘 9465번/C++

728x90

백준 코딩 알고리즘 문제 9465

 

백준 코딩 알고리즘 문제 9465번 풀이 - 사용 언어: C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int sticker[2][100001]; //스티커 값을 저장할 배열
int value[2][100001]; //최대값을 저장할 배열
 
int main() {
 
    int T;
    cin >> T;
 
    // 테스트 케이스
    for (int t_i = 0; t_i < T; t_i++) {
        
        int N;
        cin >> N;
 
        //배열 값 입력받음
        for (int i = 0; i < 2; i++){
            for (int j = 1; j <= N; j++) {
                cin >> sticker[i][j];
            }
        }
 
        value[0][0= value[1][0= 0;
        value[0][1= sticker[0][1];
        value[1][1= sticker[1][1];
 
        for (int i = 2; i <= N; i++) {
            value[0][i] = max(value[1][i - 1], value[1][i - 2]) + sticker[0][i];
            value[1][i] = max(value[0][i - 1], value[0][i - 2]) + sticker[1][i];
        }
 
        cout << max(value[0][N], value[1][N]) << endl;
    }
 
    return 0;
 
}
 
//참고 사이트: https://m.blog.naver.com/occidere/220786307316
cs
728x90