[Baekjoon/๋ฐฑ์ค][2920][C/C++] ์๊ณ
ใ๋ชฉ์ฐจใ
0. ๊ฐ์
1. ๋ฌธ์
2. ํ์ด
3. ์ฝ๋
0. ๊ฐ์
solved.ac class1์ ์์ฑ์ ์ํด ํผ ๋ฌธ์ . ์๋ฃ๊ตฌ์กฐใ์๊ณ ๋ฆฌ์ฆ์ ๋์ฑ ์ด์ฌํ ๊ณต๋ถํ์ฌ ๋์ ํด๋์ค๋ก ์ฌ๋ผ๊ฐ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
1. ๋ฌธ์
https://www.acmicpc.net/problem/2920
[๋ฌธ์ ]
๋ค์ฅ์กฐ๋ c d e f g a b C, ์ด 8๊ฐ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ์ด ๋ฌธ์ ์์ 8๊ฐ ์์ ๋ค์๊ณผ ๊ฐ์ด ์ซ์๋ก ๋ฐ๊พธ์ด ํํํ๋ค. c๋ 1๋ก, d๋ 2๋ก, ..., C๋ฅผ 8๋ก ๋ฐ๊พผ๋ค.
1๋ถํฐ 8๊น์ง ์ฐจ๋ก๋๋ก ์ฐ์ฃผํ๋ค๋ฉด ascending, 8๋ถํฐ 1๊น์ง ์ฐจ๋ก๋๋ก ์ฐ์ฃผํ๋ค๋ฉด descending, ๋ ๋ค ์๋๋ผ๋ฉด mixed ์ด๋ค.
์ฐ์ฃผํ ์์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๊ฒ์ด ascending์ธ์ง, descending์ธ์ง, ์๋๋ฉด mixed์ธ์ง ํ๋ณํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
[์ ๋ ฅ]
์ฒซ์งธ ์ค์ 8๊ฐ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์ซ์๋ ๋ฌธ์ ์ค๋ช ์์ ์ค๋ช ํ ์์ด๋ฉฐ, 1๋ถํฐ 8๊น์ง ์ซ์๊ฐ ํ ๋ฒ์ฉ ๋ฑ์ฅํ๋ค.
[์ถ๋ ฅ]
์ฒซ์งธ ์ค์ ascending, descending, mixed ์ค ํ๋๋ฅผ ์ถ๋ ฅํ๋ค.
[์์ ์ ๋ ฅ 1]
1 2 3 4 5 6 7 8
[์์ ์ถ๋ ฅ 1]
ascending
[์์ ์ ๋ ฅ 2]
8 7 6 5 4 3 2 1
[์์ ์ถ๋ ฅ 2]
descending
[์์ ์ ๋ ฅ 3]
8 1 7 2 6 3 5 4
[์์ ์ถ๋ ฅ 3]
mixed
2. ํ์ด
2๊ฐ์ง ์ ๋์ ํ์ด๋ฅผ ๊ณ ๋ฏผํ๋ค.
โ ascending์ธ ๊ฒฝ์ฐ (๋ค์ ๋ฐฐ์ด์ ๊ฐ - ์ด์ ๋ฐฐ์ด์ ๊ฐ)์ด 1์ด ๋๋ฏ๋ก, ๋ฑ์ฐจ์์ด์ ์์ฉํด ํ์ด๋ณผ๊น ๋ผ๋ ์๊ฐ๋ ํด๋ณด๊ณ
โก ์ ๋ ฅ๋๋ ์ซ์์ ๊ฐ์๊ฐ 8๋ก ์ ํ๋์ด ์์ผ๋ฏ๋ก, ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐ์ ธ๋ณด๋ ๋ธ๋ฃจํธํฌ์ค ๊ธฐ๋ฒ๋ ๊ด์ฐฎ๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค.
์ด ๋ฌธ์ ์์๋ ์ ๋ ฅ์ด ์ ํ๋์ด ์์ผ๋ฏ๋ก ๋ฌธ์ ๋ฅผ ์ด๋ ต๊ฒ ํธ๋ ๊ฒ๋ณด๋ค๋, ์ฝ๊ณ ๋จ์ํ๊ฒ ํธ๋ ๊ฒ ์ข๋ค ์๊ฐํ์ฌ ๋ธ๋ฃจํธํฌ์ค ๊ธฐ๋ฒ(=๋ ธ๊ฐ๋ค) ํ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์๋ค.
3. ์ฝ๋
#pragma warning (disable:4996)
#include <stdio.h>
int main(int argc, char* argv[]) {
/* ์
๋ ฅ ๊ฐ ๋ฐ์ */
int arr[8];
for (int i = 0; i < 8; i++)
scanf("%d", &arr[i]);
/* ๋
ธ๊ฐ๋ค ํ์ด... */
if
(arr[0] == 1 && arr[1] == 2 && arr[2] == 3 && arr[3] == 4 &&
arr[4] == 5 && arr[5] == 6 && arr[6] == 7 && arr[7] == 8)
printf("ascending");
else if
(arr[0] == 8 && arr[1] == 7 && arr[2] == 6 && arr[3] == 5 &&
arr[4] == 4 && arr[5] == 3 && arr[6] == 2 && arr[7] == 1)
printf("descending");
else
printf("mixed");
/* ๋ง๋ฌด๋ฆฌ */
return 0;
}