위장 (Python)
0. 출처
- 유형 : 해시 (lv 2)
- 링크 : 위장
1. 기록
- 22/04/13 (수)
2. 풀이
(1) 아이디어
1. 아이디어
>>
2. 시간복잡도
>>
3. 자료구조
>>
(2) 코드
def solution(clothes):
# 1. 옷을 종류별로 구분하기
hash_map = {}
for clothe, type in clothes:
hash_map[type] = hash_map.get(type, 0) + 1
# 2. 입지 않는 경우를 추가하여 모든 조합 계산하기
answer = 1
for type in hash_map:
answer *= (hash_map[type] + 1)
# 3. 아무종류의 옷도 입지 않는 경우 제외하기
return answer - 1
(3) 정리
처음에 {type : [옷1, 옷2, 옷3]} 등으로 만들어야 하나 고민했으나
문제에서는 조건에 맞는 결과 값만 원하기 때문에 그럴 필요가 없음을 알게되었습니다.
위 코드처럼 list의 값 여러개를 여러변수에 동시에 할당하는 것을 unpacking이라 하는데 유용하게 쓸 수 있도록 연습해야할 것 같습니다.
또한 get() 함수 사용법 또한 익혀놔야겠습니다.
(4) 참고
'코테기록 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 모의고사 (Python) (0) | 2022.04.14 |
---|---|
[프로그래머스] 베스트앨범 (Python) (0) | 2022.04.14 |
[프로그래머스] 전화번호 목록 (Python) (0) | 2022.04.13 |
[프로그래머스] 완주하지 못한 선수 (Python) (0) | 2022.04.13 |
[프로그래머스] 입양 시각 구하기(1) (SQL) (0) | 2022.04.01 |