๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - [3์ฐจ] n์ง์ ๊ฒ์
N์ง์ ๊ฒ์ ํ๋ธ๊ฐ ํ๋ํ๋ ์ฝ๋ฉ ๋์๋ฆฌ์์๋ ์ ํต์ ์ผ๋ก ํด์ค๋ ๊ฒ์์ด ์๋ค. ์ด ๊ฒ์์ ์ฌ๋ฌ ์ฌ๋์ด ๋ฅ๊ธ๊ฒ ์์์ ์ซ์๋ฅผ ํ๋์ฉ ์ฐจ๋ก๋๋ก ๋งํ๋ ๊ฒ์์ธ๋ฐ, ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค. ์ซ์๋ฅผ 0
programmers.co.kr
์ ๊ทผ ๋ฐฉ๋ฒ
์ง๋ฒ : n, ๊ตฌํ ์ซ์์ ๊ฐ์ : t, ๊ฒ์ ์ฐธ๊ฐ ์ธ์ : m, ํ๋ธ์ ์์ : p
1. n์ง๋ฒ์ t * m ๊ฐ ์ถ๋ ฅ
for(let i = 0; i < t*m; i++){ toStringN += i.toString(n).toUpperCase() }โ
(์๋ง ํ์ํ ๋ฒ์๋ณด๋ค ์ด๊ณผ๋๋ ๋ฒ์๊ฐ ๋์ฌํ ๋ฐ ์ง๋ฒ๋ง๋ค ์ํ๋ ๋ฒ์๊น์ง ๊ตฌํ๋ ์์ด๋์ด ํ์)
2. ๊ตฌํ ๋ฌธ์์ด์ slice(0, m*t)๊น์ง ์ถ๋ ฅ
const slicedStr = toStringN.slice(0, m*t)โ
3. sliceํ ๋ฌธ์์ด์ m, p๋ฅผ ํตํด ์ถ๋ ฅ
for(let i = 0; i < slicedStr.length; i++){ let pIdx = i % m; if(p === pIdx+1) answer += slicedStr[i]; }โ
2,3 ๋ฒ ๊ณผ์ ์ ๋ฑํ ๊ณ ์น ๋ถ๋ถ์ด ์๋ณด์ธ๋ค
ํ์ง๋ง 1๋ฒ์ ํ์ํ ๋ฒ์๋ณด๋ค ๋ ๋ง์ ๋ฒ์๊ฐ ์กํ๋ ๋ฏํ์ฌ ์ ๋ถ๋ถ์ ์์ ํด์ผํ ๋ฏํ๋ค.
while(toStringN.length < m*t){ toStringN += num.toString(n).toUpperCase() num++; }โ
1๋ฒ ๊ณผ์ ์ while๋ฌธ์ ํตํด toStirngN์ผ๋ก ๋ณํํ ๊ธธ์ด๊ฐ m*t์ดํ๊ฐ ๋ ๋๊น์ง๋ง ๊ธธ์ด๋ฅผ ์กฐ์ ํ์ฌ ์๋๋ฅผ ์๋นํ ๋ํ ์ ์์๋ค.
์์ ํ ์์ ์
function solution(n, t, m, p) {
var answer = '';
let toStringN = ""
let num = 0;
while(toStringN.length < m*t){
toStringN += num.toString(n).toUpperCase()
num++;
}
//for(let i = 0; i < t*m; i++){
// toStringN += i.toString(n).toUpperCase()
//}
const slicedStr = toStringN.slice(0, m*t)
for(let i = 0; i < slicedStr.length; i++){
let pIdx = i % m;
if(p === pIdx+1) answer += slicedStr[i];
}
return answer;
}โ
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] [3์ฐจ] ์์ถ (17684) (0) | 2022.06.24 |
---|---|
[Javascript] ์์ ๋์งํ (12985) (0) | 2022.06.24 |
[Javascript] n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (87390) (0) | 2022.06.23 |
[Javascript] 2๊ฐ ์ดํ๋ก ๋ค๋ฅธ ๋นํธ (77885) (0) | 2022.06.23 |
[Javascript] 1์ฐจ ๋ด์ค ํด๋ฌ์คํธ๋ง (17677) (0) | 2022.06.23 |