Coding Test/프로그래머스
[프로그래머스 42578번] 위장
Lucian_Cho
2020. 12. 19. 17:13
# 문제
내 풀이 - 문제 풀이 실패, 지향할 답안
def solution(clothes):
answer = 1
# dictionary 형태로 재구성
c_dict = {}
for val, key in clothes:
if key in c_dict.keys():
c_dict[key].append(val)
else:
c_dict[key] = [val]
# 안 입은 경우의 수를 포함해서 옷의 종류 별 개수들을 각각 곱함
for val in c_dict.values():
answer *= (len(val) + 1)
return answer - 1 # 하나도 안 입은 경우의 수를 빼고 반환
주목할 점
Dictionary 자료형의 Value 값을 List 재구성하는 방법을 도저히 모르겠었는데 다른 분의 답안을 보며 터득할 수 있었다. 경우의 수도 조합을 사용하며 너무 복잡하게 생각했는데, 조금의 아이디어로 간단히 계산한 방법을 기억하자.