ใ๋ชฉ์ฐจใ
0. ๊ฐ์
1. ๋ฌธ์
2. ํ์ด
3. ์ฝ๋
0. ๊ฐ์
์ํ, ์ฌ์น์ฐ์ฐ ๋ฌธ์ . ๋ฐ๋ก ๋ฌธ์ ํ์ด๋ก ๋์ด๊ฐ๊ฒ ๋ค.
1. ๋ฌธ์
https://www.acmicpc.net/problem/3052
[๋ฌธ์ ]
๋ ์์ฐ์ A์ B๊ฐ ์์ ๋, A%B๋ A๋ฅผ B๋ก ๋๋ ๋๋จธ์ง ์ด๋ค. ์๋ฅผ ๋ค์ด, 7, 14, 27, 38์ 3์ผ๋ก ๋๋ ๋๋จธ์ง๋ 1, 2, 0, 2์ด๋ค.
์ 10๊ฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค, ์ด๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ค. ๊ทธ ๋ค์ ์๋ก ๋ค๋ฅธ ๊ฐ์ด ๋ช ๊ฐ ์๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
[์ ๋ ฅ]
์ฒซ์งธ ์ค๋ถํฐ ์ด๋ฒ์งธ ์ค ๊น์ง ์ซ์๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ด ์ซ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๊ณ , ์์ด ์๋ ์ ์์ด๋ค.
[์ถ๋ ฅ]
์ฒซ์งธ ์ค์, 42๋ก ๋๋์์ ๋, ์๋ก ๋ค๋ฅธ ๋๋จธ์ง๊ฐ ๋ช ๊ฐ ์๋์ง ์ถ๋ ฅํ๋ค.
[์์ ์ ๋ ฅ 1]
1
2
3
4
5
6
7
8
9
10
[์์ ์ถ๋ ฅ 1]
10
๊ฐ ์๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10์ด๋ค.
[์์ ์ ๋ ฅ 2]
42
84
252
420
840
126
42
84
420
126
[์์ ์ถ๋ ฅ 2]
1
๋ชจ๋ ์๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ 0์ด๋ค.
[์์ ์ ๋ ฅ 3]
39
40
41
42
43
44
82
83
84
85
[์์ ์ถ๋ ฅ 3]
6
๊ฐ ์๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ 39, 40, 41, 0, 1, 2, 40, 41, 0, 1์ด๋ค. ์๋ก ๋ค๋ฅธ ๊ฐ์ 6๊ฐ๊ฐ ์๋ค.
2. ํ์ด
42๋ก ์ด๋ค์๋ฅผ ๋๋ ๋๋จธ์ง๋ 0~41 ์ฌ์ด์ ์กด์ฌํ๋ค. ∴ ๋๋จธ์ง์ ํด๋นํ๋ ๊ฐ์ ์ฒดํฌํ ์ ์๋ ๋ฐฐ์ด remainder๋ฅผ ์ ์ธํ ๋ค, 0์ผ๋ก ์ด๊ธฐํํ๊ณ , ๋๋จธ์ง์ ๊ฐ์๋ฅผ ์ธ์ด์ค๋ค. ์ด๋, ๋ฐฐ์ด์ ๊ฐ์ด 1์ด์์ธ ๊ฒ์ ๊ฐ์๋ฅผ ์ธ์ด์ฃผ๋ฉด, ์๋ก ๋ค๋ฅธ ๋๋จธ์ง ๊ฐ์ด ๋ช ๊ฐ ์๋์ง๋ฅผ ์ ์ ์๋ค.
3. ์ฝ๋
#pragma warning (disable:4996)
#include <stdio.h>
#include <stdbool.h>
int main(int argc, char* argv[]) {
int input;
bool remainder[42]={}; //๋๋จธ์ง์ ํด๋นํ๋ ๊ฐ ์ฒดํฌ.
/* ์๋ก ๋ค๋ฅธ ๋๋จธ์ง ๊ฐ์ ์ธ๊ธฐ */
for (int i = 0; i < 10; i++) {
scanf("%d", &input);
input %= 42;
remainder[input] = true;
}
/* ์ถ๋ ฅ */
int count = 0;
for (int i = 0; i < 42; i++)
if (remainder[i] == true) count++;
printf("%d", count);
/* ๋ง๋ฌด๋ฆฌ */
return 0;
}
'ใโจ๏ธแดsใPS > ๋ฐฑ์ค_์ํ&๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon/๋ฐฑ์ค][11382][C/C++] ๊ผฌ๋ง ์ ๋ฏผ (0) | 2023.05.02 |
---|---|
[Baekjoon/๋ฐฑ์ค][4344][C/C++] ํ๊ท ์ ๋๊ฒ ์ง (0) | 2023.02.07 |
[Baekjoon/๋ฐฑ์ค][2869][C/C++] ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค (0) | 2023.01.29 |
[Baekjoon/๋ฐฑ์ค][2475][C/C++] ๊ฒ์ฆ์ (0) | 2023.01.27 |
[Baekjoon/๋ฐฑ์ค][10996][C/C++] ๋ณ ์ฐ๊ธฐ - 21 (0) | 2023.01.25 |