๐ ๋ฌธ์
N์ง์ ๊ฒ์
ํ๋ธ๊ฐ ํ๋ํ๋ ์ฝ๋ฉ ๋์๋ฆฌ์์๋ ์ ํต์ ์ผ๋ก ํด์ค๋ ๊ฒ์์ด ์๋ค. ์ด ๊ฒ์์ ์ฌ๋ฌ ์ฌ๋์ด ๋ฅ๊ธ๊ฒ ์์์ ์ซ์๋ฅผ ํ๋์ฉ ์ฐจ๋ก๋๋ก ๋งํ๋ ๊ฒ์์ธ๋ฐ, ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค.
์ซ์๋ฅผ 0๋ถํฐ ์์ํด์ ์ฐจ๋ก๋๋ก ๋งํ๋ค. ์ฒซ ๋ฒ์งธ ์ฌ๋์ 0, ๋ ๋ฒ์งธ ์ฌ๋์ 1, … ์ด ๋ฒ์งธ ์ฌ๋์ 9๋ฅผ ๋งํ๋ค.
10 ์ด์์ ์ซ์๋ถํฐ๋ ํ ์๋ฆฌ์ฉ ๋์ด์ ๋งํ๋ค. ์ฆ ์ดํ ๋ฒ์งธ ์ฌ๋์ 10์ ์ฒซ ์๋ฆฌ์ธ 1, ์ด๋ ๋ฒ์งธ ์ฌ๋์ ๋์งธ ์๋ฆฌ์ธ 0์ ๋งํ๋ค.
์ด๋ ๊ฒ ๊ฒ์์ ์งํํ ๊ฒฝ์ฐ,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, …
์์ผ๋ก ์ซ์๋ฅผ ๋งํ๋ฉด ๋๋ค.
ํํธ ์ฝ๋ฉ ๋์๋ฆฌ ์ผ์๋ค์ ์ปดํจํฐ๋ฅผ ๋ค๋ฃจ๋ ์ฌ๋๋ต๊ฒ ์ด์ง์๋ก ์ด ๊ฒ์์ ์งํํ๊ธฐ๋ ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ์๋
0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, …
์์ผ๋ก ์ซ์๋ฅผ ๋งํ๋ฉด ๋๋ค.
์ด์ง์๋ก ์งํํ๋ ๊ฒ์์ ์ต์ํด์ ธ ์ง๋ ค๊ฐ๋ ์ฌ๋๋ค์ ์ข ๋ ๋์ด๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ด์ง๋ฒ์์ ์ญ์ก์ง๋ฒ๊น์ง ๋ชจ๋ ์ง๋ฒ์ผ๋ก ๊ฒ์์ ์งํํด๋ณด๊ธฐ๋ก ํ๋ค. ์ซ์ ๊ฒ์์ด ์ต์ํ์ง ์์ ํ๋ธ๋ ๊ฒ์์ ์ ธ์ ๋ฒ์น์ ๋ฐ๋ ๊ตด์์ ํผํ๊ธฐ ์ํด, ์์ ์ด ๋งํด์ผ ํ๋ ์ซ์๋ฅผ ์ค๋งํธํฐ์ ๋ฏธ๋ฆฌ ์ถ๋ ฅํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ํ๋ธ์ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ผ.
๐ ์ ๋ ฅ ํ์
- ์ง๋ฒ n, ๋ฏธ๋ฆฌ ๊ตฌํ ์ซ์์ ๊ฐฏ์ t, ๊ฒ์์ ์ฐธ๊ฐํ๋ ์ธ์ m, ํ๋ธ์ ์์ p ๊ฐ ์ฃผ์ด์ง๋ค.
2 โฆ n โฆ 16
0 ๏ผ t โฆ 1000
2 โฆ m โฆ 100
1 โฆ p โฆ m
๐ ์ถ๋ ฅ ํ์
ํ๋ธ๊ฐ ๋งํด์ผ ํ๋ ์ซ์ t๊ฐ๋ฅผ ๊ณต๋ฐฑ ์์ด ์ฐจ๋ก๋๋ก ๋ํ๋ธ ๋ฌธ์์ด. ๋จ, 10~15๋ ๊ฐ๊ฐ ๋๋ฌธ์ A~F๋ก ์ถ๋ ฅํ๋ค.
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
n | t | m | p | result |
---|---|---|---|---|
2 | 4 | 2 | 1 | "0111" |
16 | 16 | 2 | 1 | "02468ACE11111111" |
16 | 16 | 2 | 2 | "13579BDF01234567" |
๐ง ํ์ด
/*
n = ์ง๋ฒ
t = ๋ฏธ๋ฆฌ ๊ตฌํ ์ซ์์ ๊ฐฏ์
m = ๊ฒ์์ ์ฐธ๊ฐํ๋ ์ธ์
p = ํ๋ธ์ ์์
*/
/*
2, 4, 2, 1์ผ ๋,
0 1 1 1 0
1 0 1 0
*/
function solution(n, t, m, p) {
let i = 0;
let turn = 1;
let answer = [];
while (answer.length !== t) {
let convertedValue = i.toString(n).toUpperCase().split("");
for (let e of convertedValue) {
if (answer.length == t) {
break;
}
if (turn === p) {
answer.push(e);
}
turn += 1;
if (turn > m) {
turn = 1;
}
}
i ++;
}
return answer.join("");
}
๐ก ์๊ฒ ๋ ์
- N์ง๋ฒ์ ํํํ๊ธฐ ์ํ ๋ฉ์๋ - toString(N)
- ํด๋น ๋ฌธ์์ด์ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์ - toUpperCase()
- ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๋๊ธฐ ์ํ ๋ฐ๋ณต๋ฌธ - for (let element of array)
- ํด๋น ๋ก์ง์ผ๋ก ๊ตฌํํ์ ๋, n์ง๋ฒ ์๋ก ๋ณํํ๊ณ , ์ด๋ฅผ ํ๋์ฉ ์ชผ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ ๋ ๋, ๋๋ ์์ค์ answer array์ ์์๊ฐ t๋งํผ ์ฐจ๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์. ๋ฐ๋ผ์ ์ด์ค ๋ฐ๋ณต๋ฌธ ์์์ ๋ฐ๋ณต์ ํ ๋๋, t ๊ฐฏ์๋ฅผ ๋๋ฌํ๋ฉด break๋ฅผ ํตํด, ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ ์ ์๋๋ก ํ ๊ฒ
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํจ์จ (์นด์นด์ค ๋ฌธ์ , LV1) (0) | 2024.05.31 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (์นด์นด์ค ๋ฌธ์ , LV1) (0) | 2024.05.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค์์ ์ฌ ์ซ์ (0) | 2023.04.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฐ์๋ ์์ ํฉ (0) | 2023.04.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ข ์ด ์๋ฅด๊ธฐ (0) | 2023.04.20 |