๐•ƒ๐•ฆ๐•„๐•š๐•ฃ

ใ€ŒโŒจ๏ธแด„sใ€PS/๋ฐฑ์ค€_์ˆ˜ํ•™&๊ตฌํ˜„

[Baekjoon/๋ฐฑ์ค€][2920][C/C++] ์Œ๊ณ„

by ๋ฃจ๋ฐ€๐•ƒ๐•ฆ๐•„๐•š๐•ฃ2023. 1. 21.
728x90
๋ฐ˜์‘ํ˜•
ใ€Ž๋ชฉ์ฐจใ€
0. ๊ฐœ์š”

1. ๋ฌธ์ œ
2. ํ’€์ด
3. ์ฝ”๋“œ

0. ๊ฐœ์š”

solved.ac class1์˜ ์™„์„ฑ์„ ์œ„ํ•ด ํ‘ผ ๋ฌธ์ œ. ์ž๋ฃŒ๊ตฌ์กฐใ†์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋”์šฑ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•˜์—ฌ ๋†’์€ ํด๋ž˜์Šค๋กœ ์˜ฌ๋ผ๊ฐ€์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

1. ๋ฌธ์ œ

https://www.acmicpc.net/problem/2920

 

2920๋ฒˆ: ์Œ๊ณ„

๋‹ค์žฅ์กฐ๋Š” c d e f g a b C, ์ด 8๊ฐœ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ 8๊ฐœ ์Œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž๋กœ ๋ฐ”๊พธ์–ด ํ‘œํ˜„ํ•œ๋‹ค. c๋Š” 1๋กœ, d๋Š” 2๋กœ, ..., C๋ฅผ 8๋กœ ๋ฐ”๊พผ๋‹ค. 1๋ถ€ํ„ฐ 8๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ์ฃผํ•œ๋‹ค๋ฉด ascending, 8

www.acmicpc.net

[๋ฌธ์ œ]

๋‹ค์žฅ์กฐ๋Š” 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;
}
728x90
๋ฐ˜์‘ํ˜•