[프로그래머스]위장 js

Kyoungmoon Kim·2022년 11월 25일
0

문제 설명

https://school.programmers.co.kr/learn/courses/30/lessons/42578

문제 풀이

  1. clothKind: 홀수인 인덱스값만 꺼내서 의상종류이름만 담은 배열
  2. arr: 각 의상종류가 중복된 개수를 담은 배열
  3. 안입을 경우도 있으므로 중복된 개수+1한 값들을 answer에 곱한다.
  4. 다 안입을 경우는 해당되지 않으므로 answer에 1을 뺀다.

풀이 코드

function solution(clothes) {
    var answer = 1;
    const clothKind = clothes.flat().filter((_,i)=> i%2 === 1 ); //1.
    // console.log(clothKind)
    const arr=[];//2.
    for (let i=0;i<clothKind.length;i++) {
       let sum =1;
        for(let j=0;j<clothKind.length;){
            if(i!==j&&clothKind[i]===clothKind[j]){
                sum++;
                clothKind.splice(j,1)
            }else{
                j++;
            }
        }
       arr.push(sum);
    }
     // console.log(arr);
    for(let k=0; k<arr.length;k++){
        answer*=(arr[k]+1) //3.
    }
    return answer-1; //4.
}
profile
프론트 개발 공부를 정리한 블로그입니다.

0개의 댓글