2차원 배열을 넣고 map 을 돌리면
item 은 배열의 첫번째 배열이 나옴
set을 활용하면 map에서 (key, value) 쌍으로 넣을 수 있음
get은 기존에 있는 값을 가져오는 것
ex. combiClothes.get(item[1]) 하면 기존에 있던 combiClothes에서 key가 item[1]인 'eyewear'라던지 거기에 대응하는 값이 반환됨
map에서 key에 대응하는 value 반환하기
map이름.get(key) 함수를 실행하면 해당 map에서 그 key에 대응하는 value가 반환됨.
배열 for문
for(let cloth of clothes) {
}
어떤 객체에 key와 value 입력하는 법
let sorts = { };
sorts['이것이 key'] = '이것이 value';
sorts['key임'] = 1;
/*
프로그래머스 > 해쉬 > 위장
*/
function solution(clothes) {
let answer = 1;
let sorts = {};
// 옷 종류별 갯수 카운트
for(let cloth of clothes) {
//cloths 2차원 배열을 한줄씩 읽는다.
console.log('cloth[1]', cloth[1]);
// 종류 sorts[headgear] 객체 key로 있으면 그키의 value 를 ++ 숫자로 올리고
// 종류 sorts[headgear] 객체에 key로 headgear가 없으면 그냥 그대로 1
if(sorts[cloth[1]]) {
sorts[cloth[1]]++;
} else {
sorts[cloth[1]] = 1;
}
// sorts['dahae'] = 1;
// sorts['이것이key'] = '이것이 value';
// console.log('sorts[cloth[1]]', sorts[cloth[1]]);
}
console.log(sorts);
// 숫자 하나씩 올리기(각 종류별 아무것도 안입는 경우의 수 추가)
for(let key in sorts) {
sorts[key]++;
}
console.log(sorts);
for(let key in sorts) {
answer *= sorts[key];
}
return answer-1;
}
solution(
[
["yellowhat", "headgear"],
["bluesunglasses", "eyewear"],
["green_turban", "headgear"]
]
);
'[알고리즘] 문제풀이 연습' 카테고리의 다른 글
[알고리즘] 정렬 - k번째 lv2 (0) | 2021.08.08 |
---|---|
[알고리즘 스터디 #01] 자바스크립트 알고리즘 / 문법 공부 (0) | 2021.06.13 |
[DFS] 개념이해 및 Programmers lv.2 타겟넘버 (자료구조) (0) | 2021.03.19 |
알고리즘 스터디 (0) | 2021.03.05 |
[백준] 15685 드래곤커브 : 시뮬레이션 (0) | 2019.11.15 |