본문 바로가기
공부(TIL)/Javascript

[프로그래머스] 기초 Day1

by 하루지오 2024. 8. 24.

1. repeat() 메서드

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    str = input[0];
    n = Number(input[1]);
    console.log(str.repeat(n));
    // 결과: stringstringstringstringstring
});

 

2. substring() 메서드

// ver.1
function clean(newId) {
    const cleanedId = newId.replace(/[^a-z0-9._-]/g, '');
    const singlePeriodId = cleanedId.replace(/\.{2,}/g, '.');
    const trimmedId = singlePeriodId.replace(/^\.|\.$/g, '');

    return trimmedId;
}

function solution(new_id) {
    var answer = new_id.toLowerCase();
    result = clean(answer);
    
    if (result.trim() === ""){
        result = "a";
    }
    
    if (result.length > 15) {
        result = result.substring(0, 15);
    }
    result = result.replace(/\.$/, '');
    
    while (result.length < 3) {
        result += result[result.length - 1];
    }
    
    return result;
}

console.log(solution("...!@BaT#*..y.abcdefghijklm"));
console.log(solution("z-+.^."));
console.log(solution("=.="));
console.log(solution("123_.def"));
console.log(solution("abcdefghijklmn.p"));
// ver.2
function solution(new_id) {
    var answer = new_id.toLowerCase()
    .replace(/[^a-z0-9._-]/g, '')
    .replace(/\.{2,}/g, '.')
    .replace(/^\.|\.$/g, '');
    
    if (answer.trim() === ""){
        answer = "a";
    }
    
    if (answer.length > 15) {
        answer = answer.substring(0, 15);
    }
    answer = answer.replace(/\.$/, '');
    
    while (answer.length < 3) {
        answer += answer[answer.length - 1];
    }
    
    return answer;
}

'공부(TIL) > Javascript' 카테고리의 다른 글

window.innerWidth  (0) 2025.01.13
forEach문  (0) 2024.03.13
Callback 함수  (0) 2024.03.13