๐ฅ๋ฌธ์ ๋งํฌ
https://school.programmers.co.kr/learn/courses/30/lessons/17687
๐ฅํ์ด
์ผ๋จ ์นด์ดํ ํ๋ ์ซ์๋ number๋ผ๋ ๋ณ์๋ก ์ก๊ณ while๋ฌธ์ ํ๋ฐํด ๋๋ฉด 1์ฉ ์ฆ๊ฐํ๋๋ก ์ค์ ํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์ฌ๋์ผ๋ก ๋์ด๊ฐ ๋ ๋ง๋ค turn์ 1์ฉ ์ฆ๊ฐํ๋๋ก ์ค์ ํ์๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ํด์ ์ฐจ๋ก๋ฅผ ์๋ฏธํ๋ฉฐ ํ์ฌ๋์ด ์ด๋ค ์๋ฅผ ํ๋ฒ ๋ถ๋ฅด๊ณ ๋ค์์ฌ๋์ผ๋ก ๋์ด๊ฐ๋ turn์ 1์ฉ ์ฆ๊ฐํ๋ค.
์ผ๋จ n์ง๋ฒ์ผ๋ก ๋ชจ๋ ์๋ฅผ ๋ณํํด์ผ๋๋ฏ๋ก toString(n) ์ด๋ผ๋ ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฅผ n์ง๋ฒ ๋ฌธ์์ด๋ก ๋ณํํ๋ค์ ์ด ๋ฌธ์๋ฅผ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ฉด์ ๊ฐ ์๋ฆฌ ๋ฌธ์๋ฅผ ์ํํ๋ฉด์ turn์ ์ฆ๊ฐ์ํจ๋ค. ๊ทธ๋ฌ๋ฉด์ ํ๋ธ์ ์ฐจ๋ก๊ฐ ์์๋ answer์ ํด๋น ๋ฌธ์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก answer์ ๊ตฌํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ turn > p+(t-1)*m ์ด๋ฉด ๋์ด์ ์งํ์ ํ์ง ์์๋ ๋๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃ์ํค๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ์ ํด์ผ ํ ์ ์ ํ๋ธ๊ฐ ๋งจ ๋ง์ง๋ง ์์์ผ ๋๋ฅผ (m===p && turn &&m ===0) ๋์น์ง ์๋ ๊ฒ์ด๋ค.
function solution(n, t, m, p) {
var answer = '';
let number = 0
let turn = 0
let isStopPoint = false
while(1){
let converted = number.toString(n)
for(let i=0; i<=converted.length-1; ++i){
++turn
if(turn>p+(t-1)*m){
isStopPoint = true
break;
}
if(m===p && turn%m===0){
if(turn%m===0){
answer+=converted[i].toUpperCase()
}
}else{
if(turn%m===p){
answer+=converted[i].toUpperCase()
}
}
}
if(isStopPoint){
break;
}
++number
}
return answer;
}
'๐Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ๋ฌด์ธ๋ ์ฌํ (0) | 2024.08.11 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ์์ ์ต๋ํ (0) | 2024.08.10 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ์ ์ ์ผ๊ฐํ (0) | 2024.08.04 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด (0) | 2024.07.20 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ (0) | 2024.07.15 |