๐Ÿ’ฏ CodingTest/Programmers

[Programmers] (Javascript) ์‹ ๊ทœ์•„์ด๋”” ์ถ”์ฒœ

S.Honey 2022. 4. 21. 16:16
function solution(new_id) 
{
    let answer = '';
    const yesMask = '~!@#$%^&*()=+[{]}:?,<>/</>'.split('');

    // 1๋‹จ๊ณ„
    new_id = new_id.toLowerCase();
    
    // 2๋‹จ๊ณ„
    new_id = [...new_id].filter(c => !yesMask.includes(c)).join('');
    
    // includes๋Š” ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด์— ์‚ฌ์šฉ๊ฐ€๋Šฅ => ๋‚ด๊ฐ€ ์„ ์–ธํ•œ ๋ฐฐ์—ด์ด ์ด์ฐจ์›์€ ์•„๋‹Œ์ง€ ๋ฌธ์ž์—ด์ด ๋งž๋Š”์ง€ ํ™•์ธํ•˜์ž

    // 3
    while (true) 
    {
        if (!new_id.includes('..'))
        {
            break;
        }

        new_id = new_id.replace('..', '.');
    }
    
    // 4
    if (new_id[0] == '.')
    {
        new_id = new_id.substring(1,new_id.length);
    }
    if (new_id[new_id.length - 1] == '.')
    {
        new_id = new_id.substring(0,new_id.length - 1);
    }

    // 5
    if (new_id === '')
    {
        new_id = 'a';
    }

    // 6
    if (new_id.length > 15)
    {
        new_id = new_id.substring(0,15);
    }
    //์ฃผ์˜ substring์˜ ๋‘๋ฒˆ์งธ ์ธ์ž๋Š” ์—ด๋ฆฐ๊ตฌ๊ฐ„์ด๋‹ค.
    
    if (new_id[14] == '.')
    {
        new_id = new_id.substring(0,14);
    }

    // 7
    if (new_id.length <= 2)
    {
        let word = new_id[new_id.length - 1];
        while (new_id.length < 3)
        {
            new_id = new_id.concat(word);
        }
    }

    return new_id;
}

์ •๊ทœํ‘œํ˜„์‹ ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ : https://hamait.tistory.com/342