๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Javascript] 3์ฐจ n์ง„์ˆ˜ ๊ฒŒ์ž„ (17687)

๋ฌธ์ œ๋งํฌ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [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;
}โ€‹