코드업(codeup)/C
코드업(codeup) 2008 : 오름차순? 내림차순? 2 C언어
starfish22
2021. 12. 3. 22:25
728x90
▶문제 : 오름차순? 내림차순? 2 (codeup.kr)
오름차순? 내림차순? 2
수의 순서가 오름차순인 경우 '오름차순', 내림차순인 경우 '내림차순', 둘 다 아닐 경우 '섞임'을 출력한다.
codeup.kr
▶코드 작성
#include <stdio.h>
int main()
{
int n, arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
if (arr[0] == arr[n - 1])//맨앞, 맨끝 수가 같을 때 섞임
{
printf("섞임");
return 1;
}
if (arr[0] < arr[n - 1])//오름차순 추측
{
for (int i = 0; i < n - 1; i++)
{
if (arr[i] > arr[i + 1])//자신의 다음 번호 수가 자신보다 작을 때
{
printf("섞임");
return 1;
}
}
printf("오름차순");
}
else if (arr[0] > arr[n - 1])//내림차순 추측
{
for (int i = 0; i < n - 1; i++)
{
if (arr[i] < arr[i + 1])//자신의 다음 번호 수가 자신보다 클 때
{
printf("섞임");
return 1;
}
}
printf("내림차순");
}
return 0;
}
▶해석
양끝 수가 같을 때 섞임으로 출력하고 if문으로 오름차순인지 내림차순인지 미리 추측하기 위해 양끝 수를 비교하였다. 그 후 오름차순이라면 자신이 자신의 앞에 있는 수보다 작아야 하는데 그 반대라면 바로 섞임으로 출력하게 하였고 내림차순도 마찬가지로 자신이 자신의 앞에 있는 수보다 커야 하는데 그 반대라면 섞임을 출력하였다.
728x90