안녕하세요.
이번에는 3번째, 2920 번 음계 입니다. (BOJ 2920 C)
https://www.acmicpc.net/problem/2920
1 2 3 4 5 6 7 8 이면 ascending,
8 7 6 5 4 3 2 1 이면 descending,
아니면 mixed 네요.
처음부터 끝까지 돌면서 확인해줘야겠습니다.
왜냐하면 1 2 3 4 5 6 8 7 이런 식으로 입력될 수도 있으니까요.
이전 수보다 1이 증가되는 형태로 쭉 유지되면 ascending 일 거고,
이전 수보다 1이 감소되는 형태로 쭉 유지되면 descending 일 거고,
중간에 분위기 한 번 깨주면 mixed
이런 식으로 코드를 짜보았습니다.
#include <stdio.h>
int main()
{
int arr[8] = { 0 };
int i = 0, flag = 0;
for (i = 0; i < 8; i++)
scanf("%d", &arr[i]);
for (i = 1; i < 8; i++)
{
if (arr[i - 1] + 1 == arr[i])
flag = 1;
else if (arr[i - 1] - 1 == arr[i])
flag = 2;
else
{
flag = 0;
break;
}
}
if (flag == 1)
printf("ascending");
else if (flag == 2)
printf("descending");
else
printf("mixed");
return 0;
}
감사합니다.
'백준 문제풀이 > 1차원 배열' 카테고리의 다른 글
백준 2577 C / 단계별로 풀어보기 - 1차원 배열 4 (0) | 2020.01.05 |
---|---|
백준 2562 C / 단계별로 풀어보기 - 1차원 배열 2 (0) | 2019.12.18 |
백준 10818 C / 단계별로 풀어보기 - 1차원 배열 1 (0) | 2019.12.16 |