- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42578
마지막에 answer - 1을 해주는 이유는 아무것도 입지 않는 경우를 빼줘야하기 때문이다
문제 이해
1. dic에 옷의 종류별로 몇개인지 숫자를 센 다음에
2. 각 옷들로 몇 가지의 조합이 되는지 알아보는 거니까 (각 옷의 종류 + 1)을 해서 다 곱해준다
+ 1을 하는 이유는 그 옷을 입지 않는 경우도 있기 때문이다
3. 이렇게 하면 모든 옷을 입지 않는 경우도 포함되므로 이는 빼주고 반환해주면 답이다
- 정답 풀이 :
def solution(clothes):
#의상 종류, 의상 이름 리스트
dic = {}
for clothe in clothes:
a, b = clothe[0], clothe[1]
if b in dic:
dic[b] += 1
else:
dic[b] = 1
answer = 1
for i in dic:
answer *= (dic[i] + 1)
return answer - 1
- 시도해본 풀이 :
def solution(clothes):
#의상 종류, 의상 이름 리스트
dic = {}
for clothe in clothes:
a, b = clothe[0], clothe[1]
if b in dic:
dic[b] += 1
else:
dic[b] = 1
answer = 1
for i in dic:
#여기랑
answer *= dic[i]
#여기가 미흡했음
answer += len(clothes)
return answer
'프로그래머스 > Level 2' 카테고리의 다른 글
[ 스택,큐 / 프로그래머스] 42587번 : 프린터 (0) | 2022.09.19 |
---|---|
[해시 / 프로그래머스] 42577번: 전화번호 목록 (0) | 2022.09.19 |
[정렬 / 프로그래머스] 42747번: H - index (0) | 2022.09.11 |
[Greedy / 프로그래머스] 42885번 : 구명보트 (0) | 2022.09.11 |
[완전탐색 / 프로그래머스] 42842번 : 카펫 (0) | 2022.09.09 |