현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 당신에게 연속적으로 변속이 가능한지 점검할 수 있는 프로그램을 만들라는 임무가 내려왔다.
당신은 변속기가 1단에서 8단으로 연속적으로 변속을 한다면 ascending, 8단에서 1단으로 연속적으로 변속한다면 descending, 둘다 아니라면 mixed 라고 정의했다.
변속한 순서가 주어졌을 때 이것이 ascending인지, descending인지, 아니면 mixed인지 출력하는 프로그램을 작성하시오.
단순 구현 문제이다.
1->8까지 연속하거나 8->1까지 연속하거나 그 외의 경우이거나
총 3가지 경우의 수로 나누면 된다.
#include<iostream>
using namespace std;
int main(int argc, char** argv)
{
string answer="";
// 8개의 숫자 입력 받기
int arr[8]={0,};
for(int i=0;i<8;i++){
cin>>arr[i];
}
// 1->8, 8->1, 그 외 경우 3가지로 판단
if(arr[0]+1==arr[1]){
answer="ascending";
for(int i=1;i<7;i++){
if(arr[i]+1==arr[i+1]){
continue;
}
else{
answer="mixed";
break;
}
}
}
else{
answer="descending";
for(int i=1;i<7;i++){
if(arr[i]-1==arr[i+1]){
continue;
}
else{
answer="mixed";
break;
}
}
}
cout<<answer;
return 0;
}