[softeer] 8단변속기(lv2) - C++

당고짱·2023년 3월 2일
0

coding-test

목록 보기
41/50
post-thumbnail

✏️ 문제

현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 당신에게 연속적으로 변속이 가능한지 점검할 수 있는 프로그램을 만들라는 임무가 내려왔다.

당신은 변속기가 1단에서 8단으로 연속적으로 변속을 한다면 ascending, 8단에서 1단으로 연속적으로 변속한다면 descending, 둘다 아니라면 mixed 라고 정의했다.

변속한 순서가 주어졌을 때 이것이 ascending인지, descending인지, 아니면 mixed인지 출력하는 프로그램을 작성하시오.

⛔️ 제약조건

주어지는 숫자는 문제 설명에서 설명한 변속 정도이며, 1부터 8까지 숫자가 한번씩 등장한다.

🎈 입력형식

첫째 줄에 8개 숫자가 주어진다.

🎈 출력형식

첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.

🎈 입출력 예

  • 입력
    1 2 3 4 5 6 7 8
  • 출력
    ascending

👩‍💻 내 코드

#include<iostream>

using namespace std;

int arr[8];

int main(int argc, char** argv)
{

	for(int i = 0; i < 8; i++){
		cin >> arr[i];
	}
	
	int ascending = 0;
	int descending = 0;
	
	for(int i = 0; i < 7; i++) {
		if (arr[i] < arr[i+1]) descending = 1;
		else ascending = 1;
	}

	if (ascending == 0 && descending == 1) {
		cout << "ascending";
	}
	else if (ascending == 1 && descending == 0) {
		cout << "descending";
	}
	else {
		cout << "mixed";
	}

	return 0;
}

flag 변수를 두고 증가하는지 감소하는지 판별하는 방식으로 구현했다. 레벨2라서 그런지 매우 쉬웠다.

profile
초심 잃지 말기 🙂

0개의 댓글