Jayden1116
Jayden`s LifeTrip ๐Ÿ”†
Jayden1116
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • Jayden`s (481)
    • ๐Ÿฏ Hello, Jayden (144)
      • ์ผ๊ธฐ (1)
      • ์‹ ๋ฌธ (121)
      • ์Œ์•… (6)
      • ๊ฒฝ์ œ (16)
    • ๐Ÿ’› JavaScript (88)
      • ์ด๋ชจ์ €๋ชจ (4)
      • ๋ฐฑ์ค€ (44)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (40)
      • ๋ฒ„๊ทธ (0)
    • ๐ŸŽญ HTML CSS (6)
      • ํํŠธ๋ฏ€๋ฅด (2)
      • ํฌ์Šค์Šค (4)
    • ๐Ÿ’ป CS (13)
      • ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (1)
      • ๋„คํŠธ์›Œํฌ (9)
      • ์šด์˜์ฒด์ œ (1)
      • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (0)
      • ๋””์ž์ธ ํŒจํ„ด (1)
    • ๐Ÿ Python (71)
      • ๋ฐฑ์ค€ (67)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
    • ๐Ÿ’ฟ Data (156)
      • ์ด๋ชจ์ €๋ชจ (65)
      • ๋ถ€ํŠธ์บ ํ”„ (89)
      • ๊ทธ๋กœ์Šค ํ•ดํ‚น (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ”ด ๋ธ”๋กœ๊ทธ(ํ™ˆ)
  • ๐Ÿฑ Github
  • ๊ธ€์“ฐ๊ธฐ
  • ํŽธ์ง‘
hELLO ยท Designed By JSW.
Jayden1116

Jayden`s LifeTrip ๐Ÿ”†

๐Ÿ’› JavaScript/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[JS] 2021์นด์นด์˜ค - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ

2022. 7. 1. 00:25
function solution(new_id) {
  const recommendationId = (id) => {
    // 1๋‹จ๊ณ„. ๋Œ€๋ฌธ์ž -> ์†Œ๋ฌธ์ž
    id = id.toLowerCase();
    // 2๋‹จ๊ณ„. ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, -, _, . ์ œ์™ธ ๋ชจ๋‘ ์ œ๊ฑฐ
    let re = /[^a-z0-9-_.]/g;
    id = id.replace(re, '');
    // 3๋‹จ๊ณ„. ๋งˆ์นจํ‘œ 2๋ฒˆ ์ด์ƒ ์—ฐ์†์„ ํ•˜๋‚˜๋กœ ์น˜ํ™˜
    re = /[.][.]+/g;
    id = id.replace(re, '.');
    // 4๋‹จ๊ณ„. ๋งˆ์นจํ‘œ ์ฒ˜์Œ ํ˜น์€ ๋์— ์œ„์น˜ํ•œ๋‹ค๋ฉด ์ œ๊ฑฐ
    id = [...id];
    if (id[0] === '.') {
      id.shift();
    }
    if (id[id.length - 1] === '.') {
      id.pop();
    }
    id = id.join('');
    console.log(id);
    // 5๋‹จ๊ณ„. ์•„์ด๋”” ๋นˆ๋ฌธ์ž์—ด์ด๋ฉด 'a'
    if (id.length === 0) {
      id = 'a';
    }
    // 6๋‹จ๊ณ„. ์•„์ด๋”” 16์ž ์ด์ƒ์ธ ๊ฒฝ์šฐ ์ฒซ 15๊ฐœ๋งŒ ๋‚จ๊ธฐ๊ธฐ
    if (id.length >= 16) {
      id = id.slice(0, 15);
      if (id[id.length - 1] === '.') {
        id = [...id];
        id.pop();
        id = id.join('');
      }
    }
    // 7๋‹จ๊ณ„. ๊ธธ์ด๊ฐ€ 2์ž ์ดํ•˜๋ผ๋ฉด ๋ ๋ฌธ์ž๋ฅผ 3์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์„œ ๋ถ™์ธ๋‹ค.
    if (id.length <= 2) {
      id = [...id];
      let endword = id[id.length - 1];
      while (id.length < 3) {
        id.push(endword);
      }
      id = id.join('');
    }
    return id;
  };
  return recommendationId(new_id);
}

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ

์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋„ค์˜ค๋Š” "์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€"์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "๋„ค์˜ค"์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ

programmers.co.kr

 

์ด ๋ฌธ์ œ๋Š” ์ •๊ทœ์‹๋งŒ ์•Œ๋ฉด ๋ฌธ์ œ์—์„œ ์ด๋ฏธ ์˜์‚ฌ์ฝ”๋“œ๋ฅผ ์ œ์‹œํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„๋งŒ ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ๋ผ, ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค!
๋ฌธ์ž์—ด์—์„œ ๋‹จ๊ณ„๋ณ„ ์กฐ๊ฑด์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด์„ ์™”๋‹ค๊ฐ”๋‹ค ํ–ˆ๋Š”๋ฐ, ์ด ๋ถ€๋ถ„์ด ์‚ฌ์‹ค ํšจ์œก์ ์ด์ง„ ์•Š๋‹ค๊ณ  ๋А๋‚€๋‹ค.
๊ทธ๋ž˜๋„ ๋‹ค์‹œํ•œ๋ฒˆ ์ •๊ทœํ‘œํ˜„์‹์— ๋Œ€ํ•ด์„œ ํ™œ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ผ ์žฌ๋ฏธ์žˆ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค. :)
์ถ”๊ฐ€) ์ด ๋ฌธ์ œ๋Š” ํ’€๊ณ ๋‚˜์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ํ‘ธ์‹  ๊ฒƒ๋“ค๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœ! (๋‹จ, ์ •๊ทœํ‘œํ˜„์‹์„ ์—„์ฒญ ์ž˜ ํ™œ์šฉํ•œ ํ’€์ด๋ณด๋‹ค๋„ ์‹œ๊ฐ„๋ณต์žก๋„ ๊ณ ๋ คํ•˜์—ฌ์„œ ์ž˜ ํ’€์–ด์ง„ ํ’€์ด๋“ค์„ ๋ณผ ๊ฒƒ์„ ์ถ”์ฒœ!)

์ถ”๊ฐ€2) ์œ„์˜ ๋‚ด ํ’€์ด์—์„œ, pop()์€ ๊ทธ๋‚˜๋งˆ ๋‚˜์€๋ฐ shift()๋Š” O(n)์œผ๋กœ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๊ธฐ๋„ ํ•˜๋‹ค.

'๐Ÿ’› JavaScript > ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ์นด์นด์˜ค2022 - ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ  (0) 2022.07.01
[JS] 2021์นด์นด์˜ค - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„  (0) 2022.07.01
[JS] 2020์นด์นด์˜ค - ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ  (0) 2022.07.01
[JS] 2019์นด์นด์˜ค - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„  (0) 2022.06.30
[JS] ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ  (0) 2022.06.30
    '๐Ÿ’› JavaScript/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ์นด์นด์˜ค2022 - ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ
    • [JS] 2021์นด์นด์˜ค - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„
    • [JS] 2020์นด์นด์˜ค - ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ
    • [JS] 2019์นด์นด์˜ค - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„
    Jayden1116
    Jayden1116
    ์•„๋งˆ๋„ ํ•œ๋ฒˆ ๋ฟ์ธ ์ธ์ƒ์„ ์—ฌํ–‰ ์ค‘์ธ Jayden์˜ ์ผ์ง€๐Ÿ„๐ŸŒŠ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”