위장
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 내 풀이
- 의상의 종류별 개수 +1 씩 해서 곱하기 - 1
- +1 하는 이유: 안입는 경우를 추가한 것
- -1 하는 이유: 모든 옷을 안입을 경우를 제외한 것
- value값이 int인 경우 연산 가능
- 📍key가 존재하는지 확인할 때
- if dic[key]: 로 확인하면 없을 경우를 인지하지 못해서 error 발생
- → key in dic.keys() 로 확인해야 함
- 의상의 종류별 개수 +1 씩 해서 곱하기 - 1
def solution(clothes):
answer = 1
dic={}
for c in clothes:
if c[1] in dic.keys():
dic[c[1]]+=1
else:
dic[c[1]]=1
dic_values=dic.values()
for d in dic_values:
answer*=(d+1)
answer-=1
return answer
clothes1= [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]
clothes2= [["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]]
print(solution(colthes1))
print(solution(colthes2))
#결과
5
3
📍 리스트 내 값이 여러개 일 때, 인덱스 사용하지 않고 값 바로 불러올 수 있음
for c, t in clothes:
if t in dic.keys():
dic[t]+=1
else:
dic[t]=1
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 2] [스택/큐] 프린터 (0) | 2022.07.23 |
|---|---|
| [프로그래머스] [Level 2] [스택/큐] 기능 개발 (0) | 2022.07.23 |
| [프로그래머스][Level 2][해시] 전화번호 목록 (0) | 2022.07.18 |
| [프로그래머스] [Level 2] [2018 KAKAO BLIND RECRUITMENT 3차] 방금그곡 (0) | 2022.06.20 |
| [프로그래머스] [Level 2] [다이나믹 프로그래밍] 가장 큰 정사각형 찾기 (0) | 2022.06.20 |