본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2008] : 오름차순?내림차순? 2

by 조원일 2020. 2. 9.
728x90

1. 문제

https://codeup.kr/problem.php?id=2008

 

오름차순? 내림차순? 2

데이터의 순서가 오름차순일 경우 "오름차순"을 출력, 내림차순일 경우 "내림차순"을 출력, 둘 다 아닐 경우 "섞임"을 출력하시오.

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번 문제는 Q_2007번문제의 파생문제입니다.

새로운 문자가 같은 경우를 따로 체크해주시면 됩니다.

 

 

2. 해답

#include <stdio.h>

int main() {
	int n, before, now;
	int state = 0;
	int tmp = 0;

	scanf("%d", &n);

	scanf("%d", &before);	// 숫자를 미리받아 저장

	for (int i = 0; i < n - 1; i++) {
		scanf("%d", &now);
		if (now > before) state++;		// 이전보다크면 state++
		else if (now < before) state--;	// 이전보다 작으면 state--
		else tmp++;						// 같으면 tmp++
		before = now;
	}

	if ((state + tmp + 1) == n) printf("오름차순");
	else if (-(state - tmp - 1) == n) printf("내림차순");
	else printf("섞임");
	return 0;
}

'프로그래밍 > CodeUp' 카테고리의 다른 글

CodeUp[Q_2010] : 루트 문제(?)  (0) 2020.02.09
CodeUp[Q_2009] : 아메리카노  (0) 2020.02.09
CodeUp[Q_2007] : 오름차순?내림차순? 1  (0) 2020.02.09
CodeUp[Q_2006] : 앞으로 뒤로  (0) 2020.02.08
CodeUp[Q_2005] : 잉여계  (0) 2020.02.05