티스토리 뷰
문제 링크
풀이
중복되지 않는 map 컨테이너를 이용해서 갯수를 하나씩 증가시켰다(해당 key에 대해 횟수 증가하기 좋은 컨테이너)
그리고 (종류1 집합(공집합 포함) * 종류2 집합(공집합 포함) * .... = 다른 종류로 입을 수 있는 가짓수) 가 나오며 공집합끼리 겹쳐있는 것을 제외하기 위해 (-1)을 하였다.
공집합 = 안입는 경우
더보기
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
map<string, int> m;
for(auto e: clothes) m[e[1]]++;
for(auto i=m.begin(); i!=m.end(); i++) answer *= (i->second)+1;
return answer-1; // 다른 옷의 조합의 수 리턴
}
728x90
반응형
'Programmers Solutions > previous' 카테고리의 다른 글
[프로그래머스, C++] 가장 큰 수(정렬) (0) | 2020.10.04 |
---|---|
[프로그래머스, C++] 베스트앨범(해시파트) (0) | 2020.10.03 |
[프로그래머스, C++] 전화번호 목록(해시파트) (0) | 2020.10.03 |
[프로그래머스, C++] 완주하지 못한 선수(해시파트) (0) | 2020.10.03 |
[프로그래머스, C++] 섬 연결하기(탐욕 파트) (0) | 2020.09.27 |
댓글