공부/알고리즘
프로그래머스 위장 c++ solution
토고미
2021. 9. 5. 22:31
#include <string>
#include <vector>
#include <map>
#include <iostream>
using namespace std;
int solution(vector<vector<string>> clothes) {
map<string, int> M;
for(auto cloth : clothes)
M[cloth[1]]++;
int answer=1;
for(auto m : M)
answer *= (m.second+1);
return answer-1;
}
A,B 두 가지 종류의 의상이 있을 때 경우의
= A 종류의 의상을 입을 수 있는 가짓수 * B 종류의 의상을 입을 수 있는 가짓수
= ( A 종류의 의상 갯수 + 1 ) * ( B 종류의 의상 갯수 + 1 ) - ( 모두 안 입는 한 가지 경우 )
= ( A + 1 ) * ( B + 1 ) - 1