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

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

[Baekjoon/๋ฐฑ์ค€][5622][C/C++] ๋‹ค์ด์–ผ

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

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

0. ๊ฐœ์š”

๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ ๋ฌธ์ž์—ด ํŒŒํŠธ์— ์†ํ•œ ๋ฌธ์ œ. ์‚ฌ์‹ค ๋ฌธ์ž์—ด๋กœ ํ’€๋งŒํ•œ ๋ฌธ์ œ๋Š” ์•„๋‹Œ ๊ฒƒ ๊ฐ™์€๋ฐ ์• ๋งคํ•˜๋‹ค.

1. ๋ฌธ์ œ

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

 

5622๋ฒˆ: ๋‹ค์ด์–ผ

์ฒซ์งธ ์ค„์— ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 15๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

www.acmicpc.net

[๋ฌธ์ œ]

์ƒ๊ทผ์ด์˜ ํ• ๋จธ๋‹ˆ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์˜ค๋ž˜๋œ ๋‹ค์ด์–ผ ์ „ํ™”๊ธฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

[Baekjoon/๋ฐฑ์ค€][5622][C/C++] ๋‹ค์ด์–ผ
[Baekjoon/๋ฐฑ์ค€][5622][C/C++] ๋‹ค์ด์–ผ

์ „ํ™”๋ฅผ ๊ฑธ๊ณ  ์‹ถ์€ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ˆซ์ž๋ฅผ ํ•˜๋‚˜๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ์— ๊ธˆ์† ํ•€์ด ์žˆ๋Š” ๊ณณ ๊นŒ์ง€ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ ค์•ผ ํ•œ๋‹ค. ์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ๋ˆ„๋ฅด๋ฉด ๋‹ค์ด์–ผ์ด ์ฒ˜์Œ ์œ„์น˜๋กœ ๋Œ์•„๊ฐ€๊ณ , ๋‹ค์Œ ์ˆซ์ž๋ฅผ ๋ˆ„๋ฅด๋ ค๋ฉด ๋‹ค์ด์–ผ์„ ์ฒ˜์Œ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๋Œ๋ ค์•ผ ํ•œ๋‹ค.

์ˆซ์ž 1์„ ๊ฑธ๋ ค๋ฉด ์ด 2์ดˆ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 1๋ณด๋‹ค ํฐ ์ˆ˜๋ฅผ ๊ฑฐ๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์ด๋ณด๋‹ค ๋” ๊ฑธ๋ฆฌ๋ฉฐ, ํ•œ ์นธ ์˜†์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๊ฑธ๊ธฐ ์œ„ํ•ด์„  1์ดˆ์”ฉ ๋” ๊ฑธ๋ฆฐ๋‹ค.

์ƒ๊ทผ์ด์˜ ํ• ๋จธ๋‹ˆ๋Š” ์ „ํ™” ๋ฒˆํ˜ธ๋ฅผ ๊ฐ ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋กœ ์™ธ์šด๋‹ค. ์ฆ‰, ์–ด๋–ค ๋‹จ์–ด๋ฅผ ๊ฑธ ๋•Œ, ๊ฐ ์•ŒํŒŒ๋ฒณ์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋ฅผ ๊ฑธ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, UNUCIC๋Š” 868242์™€ ๊ฐ™๋‹ค.

ํ• ๋จธ๋‹ˆ๊ฐ€ ์™ธ์šด ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ „ํ™”๋ฅผ ๊ฑธ๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

[์ž…๋ ฅ]

์ฒซ์งธ ์ค„์— ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 15๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

[์ถœ๋ ฅ]

์ฒซ์งธ ์ค„์— ๋‹ค์ด์–ผ์„ ๊ฑธ๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ์ตœ์†Œ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.

[์˜ˆ์ œ ์ž…๋ ฅ 1]

WA

[์˜ˆ์ œ ์ถœ๋ ฅ 1]

13

[์˜ˆ์ œ ์ž…๋ ฅ 2]

UNUCIC

[์˜ˆ์ œ ์ถœ๋ ฅ 2]

36

2. ํ’€์ด

๋ฌธ์ œ๋ฅผ ํ‘ผ ๋’ค์— ๋‹ค๋ฅธ ํ’€์ด๋“ค์„ ๋ช‡๊ฐœ ์‚ดํŽด๋ดค๋‹ค, ์ˆœ์ˆ˜ ๋…ธ๊ฐ€๋‹ค๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒฝ์šฐ๋„ ๊ฝค ์žˆ์—ˆ๊ณ , ๋‹ค์ด์–ผ 1๊ฐœ์— ์•ŒํŒŒ๋ฒณ์ด 3๊ฐœ์”ฉ ๋ฌถ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์ด๋ฏ€๋กœ ์•ŒํŒŒ๋ฒณ์ด 4๊ฐœ ๋ฌถ์—ฌ ์žˆ๋Š” PQRS์™€ WXYZ๋ฅผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•œ ๋‹ค์Œ ์ˆ˜ํ•™์  ๊ทœ์น™์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค. ์ˆ˜ํ•™์  ๊ทœ์น™์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋”๋ผ๋„ ์–ด์ฐจํ”ผ PQRS์™€ WXYZ์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜์ฏค ๋…ธ๊ฐ€๋‹ค๋กœ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ๋ธŒ๋ก ์ฆˆ ๋ฌธ์ œ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์ž…๋ ฅ๊ฐ’์˜ ํฌ๊ธฐ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํฌ์ง€ ์•Š์•„, ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œํ’€์ด๋ฅผ ์ง„ํ–‰ํ•ด ์ฃผ์–ด๋„ ํฐ ๋ฌด๋ฆฌ๊ฐ€ ์—†๋Š” ๋“ฏํ•˜๋‹ค.

3. ์ฝ”๋“œ

#pragma warning(disable:4996)
#include <stdio.h>

typedef struct {
	char alphabet[4];
}Dial;

int main(void) {
	Dial dial[9] = {	//๋นˆ๊ณต๊ฐ„์€ 0=NULL๋กœ ์ดˆ๊ธฐํ™” ๋จ.
		{'A','B','C'},
		{'D','E','F'},
		{'G','H','I'},
		{'J','K','L'},
		{'M','N','O'},
		{'P','Q','R','S'},
		{'T','U','V'},
		{'W','X','Y','Z'}
	};
	
	int ch, sum=0;
	while ((ch = fgetc(stdin)) != '\n') 
		//(ch = fgetc(stdin))๋ฅผ ๊ด„ํ˜ธ๋กœ ์•ˆ๋ฌถ์œผ๋ฉด ์ด์ƒํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ.
		for (int i = 0; i < 9; i++)
			for (int j = 0; j < 4; j++)
				if (ch == dial[i].alphabet[j])
					sum += (i + 3);

	printf("%d", sum);

	return 0;
}
728x90
๋ฐ˜์‘ํ˜•