프로그래밍/알고리즘

Softeer-연습문제-8단 변속기(C++)

Se-chan Oh 2021. 3. 26. 23:56

문제 링크 : 

https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=408

 

문제 개요 : 

오름차순인지 내림차순인지 판별하기

 

#include<iostream>

using namespace std;

int main(int argc, char** argv)
{
        int input[8]; // 입력받을 8개의 숫자 저장공간
        int ascending=0,descending=0;
        cin >> input[0]; // 첫 번째 값 입력
        for (int i=1;i<8;i++){
                cin >> input[i]; // 두 번째 값부터 마지막까지 입력
                if (input[i-1]+1==input[i]) ascending++; // 증가한 횟수 세기
                if (input[i-1]-1==input[i]) descending++; // 감소한 횟수 세기
        }
        if (descending==7) printf("descending"); // 7번 감소했으면 내림차순
        else if (ascending==7) printf("ascending"); // 7번 증가했으면 오름차순
        else printf("mixed"); // 아무것도 아니면 mix

 return 0;
}

 

주의해야 할 요소들

1) descending이랑 ascending 오타 안나게 주의한다. 복붙하는게 제일 마음 편하다.

2) 첫 번째 입력은 따로 저장한다. 왜냐면 for문 돌리면서 input[i-1]과 input[i]를 비교할껀데, i=0부터 시작하니까 input[i-1]에서 오류가 발생하기 때문이다.