level2 _ 위장

LOOPY·2022년 5월 2일
0

Programmers(연습문제)

목록 보기
52/63

나의 답안

  1. 먼저 주어진 clothes 배열에 포함된 종류가 몇 가지인지 알아내 해당 수를 행의 수로 가지는 2차원 배열(의상 표)을 생성
  2. 주어진 clothes 배열을 순회하며, 의상 표에서 키가 같은 행을 찾아 수를 늘려가기 (->[[겉옷,2],[바지,3],[안경,2]] 꼴의 배열이 생성됨)
  3. 이제 각 행에 저장된 수로 가능한 조합의 수를 모두 계산해야하는데.. 가짓수가 많아질 수록 계산 횟수나 방식이 너무 복잡해졌다😥 분명 해쉬 문제인데 풀이가 산으로 가고있는 듯 하여 스톱..

그 후 구글링으로 해쉬와 관련된 js 코드를 몇 가지 찾아본 후 다시 작성한 코드는 다음과 같았다. 접근 방식은 비슷한 듯 하였으나..

가독성 오지고 지리고 렛잇고~ 아무것도 입지 않는 경우를 1로 시작하면 쉽게 계산이 가능했다!
1. obj를 생성해 clothes를 순회하며 각 종류를 key로 사용해 이미 저장된 값에 1씩 더해준다 (아무 것도 입지 않는 경우를 1로 생각하여, 저장된 값이 없는 경우에는 2로 저장)
2. for in 구문을 이용해 obj를 순회하며 ans에 값을 곱해준다
3. 옷을 입지 않는 경우를 제외하기 위해 ans-1을 반환

profile
1.5년차 프론트엔드 개발자의 소소한 기록을 담습니다 :-)

0개의 댓글