#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
'공부 > 알고리즘' 카테고리의 다른 글
2021 카카오 코딩테스트 신규 아이디 추천 c++ solution (0) | 2021.09.09 |
---|---|
HackerRank Bigger is Greater c++ solution (0) | 2021.09.07 |
프로그래머스 가장 큰 수 c++ solution (0) | 2021.09.05 |
LeetCode 24. Swap Nodes in Pairs C++ Solution (0) | 2021.09.04 |
leetcode 5. Longest Palindromic Substring c++ (0) | 2021.04.19 |