[Programmers] (Javascript) ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง

2022. 4. 25. 14:40ยท๐Ÿ’ฏ CodingTest/Programmers

https://programmers.co.kr/learn/courses/30/lessons/17677

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง

๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง ์—ฌ๋Ÿฌ ์–ธ๋ก ์‚ฌ์—์„œ ์Ÿ์•„์ง€๋Š” ๋‰ด์Šค, ํŠนํžˆ ์†๋ณด์„ฑ ๋‰ด์Šค๋ฅผ ๋ณด๋ฉด ๋น„์Šท๋น„์Šทํ•œ ์ œ๋ชฉ์˜ ๊ธฐ์‚ฌ๊ฐ€ ๋งŽ์•„ ์ •์ž‘ ํ•„์š”ํ•œ ๊ธฐ์‚ฌ๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. Daum ๋‰ด์Šค์˜ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ๋งก๊ฒŒ ๋œ ์‹ ์ž…์‚ฌ์› ํŠœ๋ธŒ

programmers.co.kr

 

โ–ถ ์ฝ”๋“œ : 

function divide(p)
{
    let temp = [];
    let reg = new RegExp(/[a-z][a-z]/);

    for (let i =0; i < p.length-1; i ++){
        var data = p.slice(i,i+2);

        if (reg.test(data)){
            temp.push(data);
        }
    }
    return temp
}


function solution(str1, str2) {
    var answer = 0;
    let strD1 = divide(str1.toLowerCase()); 
    let strD2 = divide(str2.toLowerCase());
    let temp = strD2.slice();//strD2๋ฅผ ๊นŠ์€ ๋ณต์‚ฌ

    let intersection = [...strD1].filter(x => {
        if (temp.includes(x))
        {
            temp.splice(temp.indexOf(x),1)
            return true;
        }
        else{
            return false;
        }
    });

    let tempInter = intersection.slice();
    //intersection์„ ๊นŠ์€ ๋ณต์‚ฌ

    let total = [...strD1].filter(x => {
        if (tempInter.includes(x))
        {
            tempInter.splice(tempInter.indexOf(x),1);
            return false;
        }
        else
        {
            return true;
        }
    }).concat(strD2);

    
    if (total.length !== 0){
        answer = (intersection.length/total.length) * 65536;
    }
    else{
        answer = 65536;
    }

    return Math.floor(answer);
}

 

โ–ถ ๋ฌธ์ œํ’€์ด : 

- ์ตœ๊ทผ Javascript๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ฉฐ ๋ฌธ์ž์—ด ํŒŒ์‹ฑ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ํ’€์–ด์™”๋‹ค.

- ๊ธฐ์กด Python์„ ์ด์šฉํ•ด ๋ฌธ์ž์—ด ํŒŒ์‹ฑ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•ด ์™”์—ˆ๋Š”๋ฐ JS์—์„œ๋Š” ํŒŒ์ด์ฌ๊ณผ ๊ฐ™์€ ์ธ๋ฑ์Šค ์Šฌ๋ผ์ด์‹ฑ์€ ์–ด๋ ค์› ๊ธฐ์— ๊ฐ„ํ˜น ๋‚œํ•ดํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค.

- JS๋กœ ๋ฌธ์ž์—ด ํŒŒ์‹ฑ์„ ํ•  ๋•Œ ์ •๊ทœํ‘œํ˜„์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ๊ณ , ํ•ด๋‹น ๋ฌธ์ œ์—๋„ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. 

- divide() ํ•จ์ˆ˜์—์„  ๋ฌธ์ž์—ด์„ ๋‘๊ฐœ์”ฉ ์ž๋ฅด๊ณ , ์ž˜๋ผ์ง„ ๋ฌธ์ž์—ด์ด ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ์ •๊ทœํ‘œํ˜„์‹์„ ์ด์šฉํ•ด ํ™•์ธํ•œ๋‹ค. 

- ์ด๋•Œ matchํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ์ดˆ๊ธฐ ์ •๊ทœํ‘œํ˜„์‹์— 'g' ์˜ต์…˜์„ ๋„ฃ์–ด ๋ฌธ์ž์—ด ์ „์—ญ์— ๋Œ€ํ•ด ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์ด๋•Œ ์ด์ƒํ•˜๊ฒŒ true false๊ฐ’์ด ์ผ๊ด€๋˜์ง€ ์•Š๊ฒŒ ์„ค์ •๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ „์—ญ ์˜ต์…˜์ธ 'g'๋ฅผ ์ œ๊ฑฐํ–ˆ์„๋•Œ์—๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค. 

- ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๊ฐ€ ๋” ํ•„์š”ํ•  ๋“ฏํ•˜๋‹ค. 

- ๋˜ํ•œ ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” ๋‹ค์ค‘์ง‘ํ•ฉ์ด๋ผ๋Š” ๊ฐœ๋…์ด ๋“ฑ์žฅํ•œ๋‹ค. ๋‹ค์ค‘ ์ง‘ํ•ฉ ๊ฐœ๋…๊ณผ ๊ด€๋ จํ•ด์„œ ์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ–ˆ์—ˆ๋‹ค.

- ์ด๋กœ ์ธํ•ด ๋ฌธ์ž์—ด๋“ค์˜ ๊ต์ง‘ํ•ฉ๊ณผ ํ•ฉ์ง‘ํ•ฉ์„ ์ƒ๊ฐํ•˜๊ธฐ ์–ด๋ ค์›Œ ์กฐ๊ธˆ ๋ณต์žกํ•˜๊ฒŒ๋‚˜๋งˆ ๊ต์ง‘ํ•ฉ๊ณผ ํ•ฉ์ง‘ํ•ฉ์„ ๊ตฌํ˜„ํ•œ ๋“ฏํ•˜๋‹ค.

- ๊ต์ง‘ํ•ฉ => intersecion , ํ•ฉ์ง‘ํ•ฉ => total

'๐Ÿ’ฏ CodingTest > Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Programmers] (Javascript) ํŠœํ”Œ  (0) 2022.04.25
[Programmers] (Javascript) ์ˆ˜์‹ ์ตœ๋Œ€ํ™”  (0) 2022.04.25
[Programmers] (Javascript) ๊ด„ํ˜ธ ๋ณ€ํ™˜  (0) 2022.04.25
[Programmers] (Javascript) ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ  (0) 2022.04.21
[Programmers] (Javascript) ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ  (0) 2022.04.21
'๐Ÿ’ฏ CodingTest/Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Programmers] (Javascript) ํŠœํ”Œ
  • [Programmers] (Javascript) ์ˆ˜์‹ ์ตœ๋Œ€ํ™”
  • [Programmers] (Javascript) ๊ด„ํ˜ธ ๋ณ€ํ™˜
  • [Programmers] (Javascript) ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ
S.Honey
S.Honey
  • S.Honey
    Algo ์“ฐ์ž
    S.Honey
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (123)
      • ํšŒ๊ณ  (0)
        • ์ทจ์—… ํ›„ ํšŒ๊ณ  (0)
      • ๐Ÿƒ Frontend Road-Map (2)
        • ๐Ÿšฉ Summary (1)
        • ๐Ÿ“š Road-Map Contents (1)
        • ๐ŸŸง HTML (0)
        • ๐ŸŸฆ CSS (0)
        • ๐ŸŸจ Javascript (0)
        • โฌœ React (0)
        • ๐ŸŸช Redux (0)
      • Backend (0)
        • QueryDSL (0)
      • ๐Ÿ’ป Programming Language (54)
        • C# (51)
        • Flutter-Dart (3)
        • Java (0)
      • ๐Ÿ“š Computer Science (4)
        • Algorithms (4)
        • Database (0)
        • Network (0)
        • Operating System(OS) (0)
      • ๐Ÿ’ฏ CodingTest (60)
        • BaekJoon (22)
        • Programmers (34)
        • CodeTree (4)
      • โœ’๏ธ Design Pattern (1)
      • ๐Ÿฑ Etc (2)
        • Jenkins Plugin ์ œ์ž‘๊ธฐ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋งํฌ

    • ๊ณต์ง€์‚ฌํ•ญ

      • ๐Ÿ“– ๊ณต๋ถ€ ์ฐธ๊ณ  ๊ต์žฌ ๋ฐ ์ž๋ฃŒ
    • ์ธ๊ธฐ ๊ธ€

    • ํƒœ๊ทธ

      Java
      BAEKJOON
      ๊ตฌํ˜„
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ์ž๋ฃŒ๊ตฌ์กฐ
      ํŒŒ์ด์ฌ
      Flutter
      ์Šคํ„ฐ๋””
      DART
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      ๋ฐฑ์ค€
      ๋ฌธ์ž์—ด ํŒŒ์‹ฑ
      ์‚ผ์„ฑsw์—ญํ…Œ
      ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      JS
      Algorithm
      ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰
      programmers
      sort
      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
      BFS
      ์นด์นด์˜ค
      ์ฝ”๋“œํŠธ๋ฆฌ
      c#
      ์“ฐ์…จ์ž–์•„
      DP
      ์‹œ๋ฎฌ๋ ˆ์ด์…˜
      ์ด์ง„ํƒ์ƒ‰
      JavaScript
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

    • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
    S.Honey
    [Programmers] (Javascript) ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง
    ์ƒ๋‹จ์œผ๋กœ

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