-
[프로그래머스 42578번] 위장Coding Test/프로그래머스 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 재구성하는 방법을 도저히 모르겠었는데 다른 분의 답안을 보며 터득할 수 있었다. 경우의 수도 조합을 사용하며 너무 복잡하게 생각했는데, 조금의 아이디어로 간단히 계산한 방법을 기억하자.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스 42746번] 가장 큰 수 (0) 2020.12.21 [프로그래머스 42883번] 큰 수 만들기 (0) 2020.12.20 [프로그래머스 42577번] 전화번호 목록 (0) 2020.12.19 [프로그래머스 12899번] 124 나라의 숫자 (0) 2020.11.17 [프로그래머스 49993번] 스킬트리 (0) 2020.11.17