오늘의 알고리즘

[C++]해시 위장(프로그래머스 2레벨)

하늘하늘 . 2022. 3. 28. 06:25
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
 
// 1에 따라 분류
 
int solution(vector<vector<string>> clothes)
{
    int answer = 1;
    unordered_map<string, int> unMap = {};
 
    for (int i = 0; i < clothes.size(); ++i)
    {
        ++unMap[clothes[i][1]];
    }
 
    auto iter = unMap.begin();
    auto iterEnd = unMap.end();
 
    for (; iter != iterEnd; ++iter)
    {
        answer *= (iter->second + 1);
    }
 
    --answer;
 
    return answer;
}

1. 이름이 같은 옷이 없었고

2. 해당하는 옷의 위치만을 골랐어야했구

3. 옷을 안입는다는 선택지가 있어서 +1

4. 옷을 아예 입지 않는다는 선택지가 없었기에 --