ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로그래머스] 위장
    development/알고리즘 2022. 8. 27. 18:20

    안녕하세요.

    이번 문제는 프로그래머스 2단계 - 위장 입니다.

     

    이번 문제도 저번 글과 마찬가지로 해시 테이블을 사용해 해결해야 하는 문제입니다.

    추가적으로 수학 공식이 필요해서, 수학 공식을 열심히 서치해서 풀었습니다.

     

    알고리즘 설명입니다

    문제가 조금 이상하다고 생각합니다. 

     

    이게.. 아무리 위장이라지만.. 상의와 바지는 필수로 입어야 하지 않을까요?

    모든 옷 종류 중 한가지만 입어도 된다는게 조금 의아했습니다.

    코트만 입고 다니면 바로 바바리맨 확정입니다.

    우리는 모두 적절한 위장을 위해서 상의와 하의는 꼭 입는게 좋을 것 같습니다.

     

    하지만 일단 문제가 요구하는 바를 따른 정답은 다음과 같습니다.

     

    function solution(clothes) {
        const hash = new Map();
        
        for (let i=0; i<clothes.length; i++) {
            const [item, type] = clothes[i]; 
            
            hash.set(type, (hash.get(type) || 0) + 1);
        }
        
        let acc = 1;
        
        for (const [, count] of hash) {
             acc *= 1 + count
        }
        
        return acc - 1;
    }

     

    수학입니다. 수학이에요. 

    다른 좋은 정답들은 있긴 했습니다만, 공식을 써야하기 때문에 크게 다르지 않았던 것 같습니다.

    열심히 수학 공식을 외울 수 있었던 문제입니다.

     

     


    피드백은 언제나 환영이니 부탁드립니다.

    읽어주셔서 감사합니다.

Designed by Tistory.