오늘 푼 문제
1. n진수 게임/ Lv. 2 / 시간 : 57분
programmers.co.kr/learn/courses/30/lessons/17687
1. 진법 변환 직접 구현
function solution(n, t, m, p) {
var answer = '';
let fullStr = "";
let num = 0;
while(fullStr.length<t*m){
let str = convert(num,n);
fullStr+=str;
num++;
}
answer = fullStr.split('').filter((v,i)=>(i+1-p)%m===0).join('').slice(0,t);
return answer;
}
function convert(n,base){
let answer = [];
let temp = {10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'}
while(true){
let t = n%base;
n = Math.floor(n/base);
answer.unshift(t);
if(n<base) break;
}
if(n) answer.unshift(n);
return base>10? answer.reduce((acc,cur)=>{
acc+=(temp[cur]||cur)
return acc;
},"") : answer.join('');
}
2. toString 사용
function solution(n, t, m, p) {
var answer = '';
let fullStr = "";
let num = 0;
while(fullStr.length<t*m){
let str = num.toString(n).toUpperCase();
fullStr+=str;
num++;
}
answer = fullStr.split('').filter((v,i)=>(i+1-p)%m===0).join('').slice(0,t);
return answer;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스] 2020카카오 인턴십 - 키패드 누르기/ 수식 최대화 (0) | 2021.02.01 |
---|---|
[프로그래머스] 2018 카카오 공채 - 파일명 정렬 (0) | 2021.01.28 |
[프로그래머스] 고득점 키트 - DP1 (0) | 2020.12.21 |
[프로그래머스] 고득점 키트 - 그리디4 (0) | 2020.12.10 |
[프로그래머스] 고득점 키트 - 그리디3 (0) | 2020.12.02 |