https://www.acmicpc.net/problem/14910
수열의 각 항들이 입력으로 주어지면 수열이 비내림차순 수열인지 아닌지 판단해야 한다.
입력의 갯수가 주어지지 않기 때문에 몇 개의 수열을 입력받을 지 모른다.
질문 검색을 뒤져보니까 좋은 테크닉이 있더라.
while( scanf("%d",&value) != EOF) 반복문 조건을 이렇게 해두면 입력이 끝나면 종료할 수 있다.
반복문 구조 때문에 입력받는 순간에 판단을 계속해야 한다.
이전 항과 현재 항을 비교해 내림차순인게 하나라도 있으면 그 수열은 비내림차순 수열이 아니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> typedef enum _BOOL { TRUE = 1, FALSE = 0 }BOOL; int main() { int pre, cur; BOOL isDecsend = TRUE; scanf("%d",&pre); while (scanf("%d", &cur) != EOF) { if (isDecsend && pre > cur) isDecsend = FALSE; pre = cur; } if(isDecsend) printf("Good\n"); else printf("Bad\n"); return 0; } | cs |
'백준' 카테고리의 다른 글
10824)네 수 (0) | 2019.03.03 |
---|---|
1004)어린 왕자 (0) | 2019.03.01 |
2991)사나운 개 (0) | 2019.02.24 |
2210)숫자판 점프 (0) | 2019.02.23 |
6679)싱기한 네 자리 숫자 (0) | 2019.02.23 |