문제 설명
숫자에 관심이 많은 영일이는 수열을 보고 오름차순 수열인지 내림차순 수열인지 판단하려고 한다.
오름차순이란 작은 수부터 큰 수 순서로 나열한것을 말하고, 내림차순은 그 반대인 경우이다.
이 두 경우가 아닌 경우는 '섞임'으로 판단한다.
n개의 수가 주어지면, '오름차순', '내림차순', '섞임'을 판단하는 프로그램을 작성하시오.
예를 들어, 1 1 2 3 5 5 6인 경우 '오름차순', 7 6 6 5 3 1인 경우 '내림차순', 21 22 21 22인 경우 '섞임'으로 판단한다.
만약 모두 같은 수가 입력되면 '섞임'으로 판단한다.
입력
첫째 줄에 데이터의 개수 n이 주어진다. (2≤n≤100)
둘째 줄에 n개의 수가 공백으로 분리되어 입력된다.(각각의 수는 1~200인 정수)
출력
수의 순서가 오름차순인 경우 '오름차순', 내림차순인 경우 '내림차순', 둘 다 아닐 경우 '섞임'을 출력한다.
입력 예시
7
2 3 5 5 6 6 7
출력 예시
오름차순
나의 코드
#include <stdio.h>
int main()
{
int n, num[100], i; // 변수 선언
int same = 0, a = 0, b = 0;
scanf("%d", &n); // 반복 횟수 받기
for(i=0;i<n;i++)
{
scanf("%d ", &num[i]); // 입력
if(i != 0)
{
if(num[i] == num[i-1]) same++; // 조건에 따라 변수증가
else if(num[i] > num[i-1]) a++;
else if(num[i] < num[i-1]) b++;
}
}
if(a && b || same == n-1) // 똑같거나 중복이 다라면
printf("섞임");
else if(a) // a가 0이 아니라면
printf("오름차순");
else if(b) // b가 0이 아니라면
printf("내림차순");
return 0;
}
문제 바로가기: https://codeup.kr/problem.php?id=2008&rid=0
'알고리즘 공부 > CodeUp 문제풀이' 카테고리의 다른 글
코드업 3510:예산 관리 (2) | 2023.09.30 |
---|---|
코드업 2016:천단위 구분기호(C) (0) | 2023.09.29 |
코드업 3015:성적표 출력(C) (0) | 2023.09.27 |
코드업 4803:개미 (Small) (0) | 2023.09.26 |
코드업 기초 배열연습 1468:2차원 배열 지그재그 채우기 2-1 (0) | 2023.09.24 |