Question
Test Case 1
Shell
복사
Test Case 2
Shell
복사
Solve
뭐지? 중복 체킹 어떻게 생각했었지? 왜 지금은 생각이 안나지???
function barcode(len) {
let digit = '123';
let result = '';
const makeBarcode = (result) => {
if(result.length === len) {
return result;
}
for (let i = 0; i<digit.length; i++) {
if (isDuplicate(result + digit[i])) {
let check = makeBarcode(result + digit[i]);
if(check !== -1) {
return check;
}
}
}
return -1;
}
// --------------------------------------- 중복 체킹 함수
function isDuplicate(str) {
for (let j = 1; j <= parseInt(str.length / 2); j++) {
if (str.slice(-j) === str.slice(-(j * 2) , -j)) {
return false;
}
}
return true;
}
// --------------------------------------------------------
return makeBarcode(result);
}
JavaScript
복사
실행시간 : ms