728x90
반응형
(1) 내 코드
function solution(clothes) {
let clothesMap ={};
//1. 의상의 종류가 중요함
clothes.forEach(arr=>{
const [name,type] = arr
if(clothesMap.hasOwnProperty(type)){
clothesMap[type] ++;
}
else{
clothesMap[type]=1
}
})
//console.log(clothesMap) // { headgear: 2, eyewear: 1 }
let answer = 1;
//2. 의상의 종류의 경우의 수 : 착용과 착용하지 않았을 모든 경우
//2-1. 착용하지 않은 경우를 위해 +1
for( let val in clothesMap){
//console.log(val) // headgear
//console.log(clothesMap[val]) //2
answer *= (clothesMap[val] +1)
}
//3. 아무것도 입지않은 경우 -1
//3-1. 코니는 하루에 최소 한개의 의상은 입는다고 했음.
return answer -1
}
* headgear:2가지 / eyewear : 1가지
( h1, h2, 안씀) * ( e1, 안씀)
=> clothesMap[val] +1 로 각각 곱해주기
=> 코니는 하루에 최소 한개의 의상을 입는다고 했음 = (안씀) *(안씀) = 1가지 케이스를 제외해야함
* 이번에 코드 풀면서 유용했던 점 : 객체의 hasOwnProperty()
* 객체로 의상 종류를 카운트 할때, hasOwnProperty()를 사용하여 의상 종류 카운트하기 편리했음
끝.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 | javascript] 네트워크(dfs) : 재귀함수 사용 (0) | 2024.04.21 |
---|---|
[프로그래머스 | javascript] 타켓넘버 (dfs) : 재귀함수 사용 (0) | 2024.04.21 |
[프로그래머스 | javascript] K번째수 (정렬) (0) | 2024.04.13 |
[프로그래머스 | javascript] 전화번호 목록 (해시) (0) | 2024.04.13 |
[프로그래머스 | javascript] 완주하지 못한 선수 (해시) (0) | 2024.04.12 |