https://www.acmicpc.net/problem/2920
1~8까지 오름차순인 경우 ascending을 출력하고 내림차순인 경우 desending을 출력한다.
이도 저도 아니면 mixed를 출력한다.
한수 문제를 풀 때 아이디어를 쓰면 될 것같다..
한수는 각 자리수가 등차수열을 이루는 수이다.
이를 좀 더 쉽게 구하기 위해 한 자리씩 읽어 이전 자릿수끼리 차이와 현재 자릿수끼리 차이를 비교했다.
한 번이라도 달라지면 등차수열이 아니다.
연속된 자연수를 오름 차순으로 정렬했을 때 An-An+1 = -1이다.
내림 차순으로 정렬했을 때 An-An+1 = 1이다.
비교 과정 중 한 번이라도 달라지면 mixed를 출력하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include<stdio.h> #define NUM 8 int main() { int pattern[NUM]; int d0, d1; for(int i=0; i< NUM;i++) scanf("%d",&pattern[i]); d0 = pattern[0] - pattern[1]; for (int i = 1; i < NUM-1;i++) { d1 = pattern[i] - pattern[i + 1]; if (d0 != d1) break; } if ((d0 == d1)&& d0 == -1) { printf("ascending\n"); } else if ((d0 == d1) && d0 == 1) { printf("descending\n"); } else { printf("mixed\n"); } return 0; } | cs |
'백준' 카테고리의 다른 글
5622)다이얼 (0) | 2019.01.16 |
---|---|
1316)그룹 단어 체커 (0) | 2019.01.15 |
8958)OX 퀴즈 (0) | 2019.01.15 |
1065)한수 (0) | 2019.01.14 |
1012)유기농 배추 (0) | 2019.01.13 |