Link : programmers.co.kr/learn/courses/30/lessons/42578
1. 문제
- 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다.
예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다.
종류 이름
얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트
2. 문제의 조건
- 각 행은 [의상 이름, 의상 종류]로 이루어져 있다.
- 1<= 의상의 수 <= 30
- 중복 이름 의상 존재 x
더보기
3. 문제 접근
- 시간 복잡도
추후 반영
- 아이디어
대부분의 해시 문제는 메모리제이션 기법을 사용하면 된다고 생각하였습니다.
그래서 종류별로 개수를 파악하였습니다.
의상의 종류는 4가지, 조합의 수에 따라서 기존 (종류 + 1) * ... 를 수행합니다.
+1를 하는 이유는 이 종류의 옷을 입지 않는다는 선택도 포함되기 때문입니다.
4. 풀이 방법
- clothes를 dict에다 추가한다.
- 만약 data안에 존재한다면, 그 종류를 1 더해주고
존재하지 않다면 값을 1로 새롭게 만든다. - 그 종류의 조합 공식에 따라 (종류 개수 + 1) * (...)을 수행한다.
5. 소스코드
cjw.git@gmail.com
'알고리즘 > programmers' 카테고리의 다른 글
42584: 주식가격[스택/큐] (0) | 2021.01.05 |
---|---|
42579: 베스트앨범[해시] (0) | 2021.01.05 |
42839: 소수찾기[완전탐색] (0) | 2021.01.02 |
42883: 큰 수 만들기[그리디] (0) | 2020.12.18 |
42576: 완주하지 못한 선수[해시] (0) | 2020.12.18 |
댓글