9919

#include <stdio.h>

int main(void){
    // 테스트 케이스 입력
    int test_case = 0;
    scanf("%d", &test_case);

    int up = 0, down = 0, plain = 0;
    int is_up = 0, is_down = 0, is_plain = 0;
    int pre = -1, first = 0;
    for(int i = 0; i <= test_case; i++){
        // 마지막이 아니라면 입력 받기
        int cur = 0;
        if (i != test_case){
            scanf("%d", &cur);
        }
        // 마지막이라면 
        // 첫번째에 입력 받았던 숫자를 현재 숫자에 넣기 
        else{
            cur = first;
        }
        
        // 처음 입력받는게 아니라면
        if(pre != -1){
            // 전에 출력이 up이 아닐 때, 
            // 현재 숫자가 전 숫자 보다 클 경우 (up)
            if(!is_up && (cur > pre)){
                up++;
                is_up = 1;
                is_down = 0, is_plain = 0;
            }
            // 전에 출력이 down이 아닐 때, 
            // 현재 숫자가 전 숫자 보다 작을 경우 (down)
            else if(!is_down && (cur < pre)){
                down++;
                is_down = 1;
                is_up = 0, is_plain = 0;
            }
            // 전에 출력이 plain이 아닐 때, 
            // 현재 숫자가 전 숫자와 같을 경우 (plain)
            else if(!is_plain && (cur == pre)){
                plain++;
                is_plain = 1;
                is_up = 0, is_down = 0;
            }
        }
        // 처음일 경우 first변수에 첫번째로 입력받은 수 저장
        else{
            first = cur;
        }

        // 현재 숫자를 전 숫자에 저장해주기
        pre = cur;
    }

    // 출력
    printf("%d %d %d", plain, up, down);
    return 0;
}

+ Recent posts