문제 링크 :
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]에서 오류가 발생하기 때문이다.
'프로그래밍 > 알고리즘' 카테고리의 다른 글
Softeer-연습문제-복잡한 조립라인1(C++) (0) | 2021.03.29 |
---|---|
Softeer-연습문제-조립 라인(C++) (0) | 2021.03.28 |
Softeer-연습문제-장애물 인식 프로그램(C++) (0) | 2021.03.26 |
Softeer-연습문제-HMG는 왜 HMG일까?(C++) (0) | 2021.03.24 |
Softeer-연습문제-동계 테스트 시점 예측(C++) (0) | 2021.03.24 |