반응형
프로그래머스의 레벨 2 문제 의상
문제 요구 조건
의상을 착용하는 조합의 수를 구한다.
풀이 방법
- 의상 종류별로 몇 개인지 세고, 각 의상을 사용하지 않는 경우를 포함해서 조합을 구한다.
- 조합에서 아무것도 안 입는 경우 1을 뺀다.
# 해시로 옷 종류별로 저장한다
# 각 종류별로 입기+안입기로 곱하고, 아무것도 안입는 경우 1을 뺀다
def solution(clothes):
answer = 1
d = {}
for _, category in clothes:
d[category] = d.get(category, 0) + 1
for category in d:
answer *= (d[category] + 1)
return answer - 1
해결 못했던 풀이 방법
의상 종류를 가지고 조합을 만들어서 의상 1개 조합, 2개 조합, 3개 조합을 만드는 식으로 접근했는데, 의상 종류는 범위 제한이 없어서 시간 초과로 해결하지 못했다. 문제의 제한 조건을 꼼꼼하게 읽지 않아서 반례를 찾지 못하고 헤맸다. 주의해야지.
반응형
'Computer science > Algorithm' 카테고리의 다른 글
[프로그래머스] Python3 - 올바른 괄호 (0) | 2023.11.16 |
---|---|
[프로그래머스] Python3 - 기능개발 (1) | 2023.11.15 |
[프로그래머스] Python3 - 전화번호목록 (1) | 2023.11.13 |
[프로그래머스] Python3 - H Index (0) | 2023.11.10 |
[프로그래머스] Python3 가장 큰 수 (0) | 2023.11.09 |