반응형
2021_11_14 알고리즘 스터디 문제 풀이
문제 URL
코딩테스트 연습 - 위장
programmers.co.kr
문제
수도코드
clothes[i][1] > 의상의 종류
clothes[i][0] > 의상의 이름
obj 빈객체 선언
포문으로 clothes를 순회
obj[el[1]] 가 이미 있다면 기존 값 + 1
obj[el[1]] 가 없다면 값은 0;
obj를 순회, 경우의 수를 구한다
result 변수에 *= (obj[key] + 1) // 1은 해당 부위 파츠를 착용하지 않는 경우
최종 result - 1 리턴 // 1은 모두 착용하지 않는 경우
풀이
function solution(clothes) {
let result = 1;
let obj = {};
for (let el of clothes) {
obj[el[1]] = (obj[el[1]] || 0) + 1;
}
for (let key in obj) {
result *= (obj[key] + 1)
}
return result - 1;
}
결과
시간 복잡도 O(n)의 코드로 구현을 완료했다.
반응형
'Algorithm > Algorithm Study' 카테고리의 다른 글
[프로그래머스] 해시 _ 베스트 앨범 Lv3, javascript (0) | 2021.12.20 |
---|---|
[프로그래머스] DFS _ 타켓 넘버 (0) | 2021.11.21 |
[프로그래머스] 해시 - 완주하지 못한 선수 (0) | 2021.11.14 |
[leet-code] Two Sum (0) | 2021.11.07 |
[프로그래머스] 완전 탐색 - 소수 찾기 (0) | 2021.11.07 |