반응형
https://www.acmicpc.net/problem/2920
input을 배열로 차례대로 입력 받는다.
array<int, 8> arr = {};
for (int i = 0; i < 8; i++) {
cin >> arr[i];
}
입력 받은 값이 뒤의 값과 비교하여 1이 작은 지 혹은 큰 지 확인한 뒤 해당 개수를 카운트 한다.
int up = 1;
int down = 1;
for (int i = 0; i < 7; i++) {
if (arr[i] == arr[i + 1] - 1) {
up++;
}
else if (arr[i] == arr[i + 1] + 1) {
down++;
}
}
만약 모두 작다면 ascending
모두 크다면 descending
둘 다 아니라면 mixed 하다.
if (up == 8) { //앞 수가 뒷 수보다 모두 1만큼 작다면
cout << "ascending\n";
}
else if (down == 8) { //앞 수가 뒷 수보다 모두 1만큼 크다면
cout << "descending\n";
}
else {
cout << "mixed\n";
}
[전체 코드]
#include <iostream>
#include <array>
using namespace std;
int main() {
int up = 1;
int down = 1;
array<int, 8> arr = {};
for (int i = 0; i < 8; i++) {
cin >> arr[i];
}
for (int i = 0; i < 7; i++) {
if (arr[i] == arr[i + 1] - 1) {
up++;
}
else if (arr[i] == arr[i + 1] + 1) {
down++;
}
}
if (up == 8) {
cout << "ascending\n";
}
else if (down == 8) {
cout << "descending\n";
}
else {
cout << "mixed\n";
}
}
반응형
'Online-Judge > Baekjoon' 카테고리의 다른 글
[Baekjoon] C++ 11654번 아스키 코드 (0) | 2021.05.31 |
---|---|
[Baekjoon] C++ 2577번 숫자의 개수 (0) | 2021.05.31 |
[Baekjoon] C++ 10039번 평균 점수 (0) | 2021.05.31 |
[Baekjoon] C++ 1110번 더하기 사이클 (0) | 2021.05.21 |
[Baekjoon] C++ 10871번 X보다 작은 수 (0) | 2021.05.21 |
댓글