ใ๋ชฉ์ฐจใ
0. ๊ฐ์
1. ๋ฌธ์
2. ํ์ด
3. ์ฝ๋
0. ๊ฐ์
๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ ๋ฌธ์์ด ํํธ์ ์ํ ๋ฌธ์ . ์ฌ์ค ๋ฌธ์์ด๋ก ํ๋งํ ๋ฌธ์ ๋ ์๋ ๊ฒ ๊ฐ์๋ฐ ์ ๋งคํ๋ค.
1. ๋ฌธ์
https://www.acmicpc.net/problem/5622
[๋ฌธ์ ]
์๊ทผ์ด์ ํ ๋จธ๋๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค๋๋ ๋ค์ด์ผ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ ํ๋ฅผ ๊ฑธ๊ณ ์ถ์ ๋ฒํธ๊ฐ ์๋ค๋ฉด, ์ซ์๋ฅผ ํ๋๋ฅผ ๋๋ฅธ ๋ค์์ ๊ธ์ ํ์ด ์๋ ๊ณณ ๊น์ง ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ค์ผ ํ๋ค. ์ซ์๋ฅผ ํ๋ ๋๋ฅด๋ฉด ๋ค์ด์ผ์ด ์ฒ์ ์์น๋ก ๋์๊ฐ๊ณ , ๋ค์ ์ซ์๋ฅผ ๋๋ฅด๋ ค๋ฉด ๋ค์ด์ผ์ ์ฒ์ ์์น์์ ๋ค์ ๋๋ ค์ผ ํ๋ค.
์ซ์ 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;
}
'ใโจ๏ธแดsใPS > ๋ฐฑ์ค_์ํ&๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon/๋ฐฑ์ค][10996][C/C++] ๋ณ ์ฐ๊ธฐ - 21 (0) | 2023.01.25 |
---|---|
[Baekjoon/๋ฐฑ์ค][10951][C/C++] A+B - 4 (EOF) (0) | 2023.01.24 |
[Baekjoon/๋ฐฑ์ค][2920][C/C++] ์๊ณ (0) | 2023.01.21 |
[Baekjoon/๋ฐฑ์ค][2292][C/C++] ๋ฒ์ง (0) | 2023.01.20 |
[Baekjoon/๋ฐฑ์ค][2563][C/C++] ์์ข ์ด (0) | 2023.01.20 |