본문 바로가기

숨막히는 알고말고/문제 풀이

[SWEA] 지그재그 숫자

👀 문제 설명

문제

로그인해야 문제를 볼 수 있다

✍🏻풀이

DP를 사용해 1부터 10까지 조건에 맞게 값을 구한다.

짝수일 경우, dp[i] = dp[i - 1] - i이고,

홀수일 경우, dp[i] = dp[i - 1] + i이다.

 

이후 N값에 맞게 dp[N]을 출력해주면 된다.

 

코드

#include <stdio.h>
#include <iostream>

using namespace std;

int dp[11];

int main() {
    ios::sync_with_stdio(0);
    cin.tie(NULL); cout.tie(NULL);
    
    int T;
    cin >> T;
    
    dp[1] = 1;
    for (int i = 1; i < 11; i++) {
        if (i % 2 == 0) {
            dp[i] = dp[i - 1] - i;
        }
        else {
            dp[i] = dp[i - 1] + i;
        }
    }
    
    for (int test_case = 1; test_case <= T; ++test_case) {
        int N;
        cin >> N;
        
        cout << "#" << test_case << " " << dp[N] << "\n";
    }
    
    return 0;
}

'숨막히는 알고말고 > 문제 풀이' 카테고리의 다른 글

[Baekjoon] 데스 나이트  (0) 2021.02.27
[Baekjoon] ⚾️  (0) 2021.02.25
[Baekjoon] 수 이어 쓰기 1  (0) 2021.02.24
[Baekjoon] 단어 뒤집기 2  (0) 2021.02.23
[SWEA] N줄덧셈  (0) 2021.02.22