[プログラマー]偽装
📒コンセプトの使用
📌問題の説明
スパイたちは毎日違う服を着て自分を偽装している.
例えば、スパイの服が以下のように、今日スパイが丸い眼鏡、長いコート、青いTシャツを着ている場合は、翌日はジーンズを追加したり、黒いサングラスをかけたりして、丸い眼鏡ではありません.
スパイが持っている服に二次元配列の服が与えられた場合、異なる服の組み合わせの数を返すために解関数を作成します.
せいげんじょうけん
📌インプリメンテーション
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
//옷의 종류에 따른 개수를 저장하는 map
map<string, int> closet;
for(auto itr : clothes){
//옷의 종류에 따른 개수 저장
closet[itr[1]]++;
}
for(auto itr : closet){
//경우의 수 계산 공식
answer*=(itr.second+1);
}
//옷을 입지 않는 경우 제외
answer-=1;
return answer;
}
実施の際、重要なのは服の名前が問題を解決する重要な情報ではないことだ.どの服に何枚の服があるかさえ分かれば、問題を解くことができます.最終的には、状況の数に(服1着あたりの数+1)を乗じ、最後に服を着ない場合を除く.
📌注意点
Reference
この問題について([プログラマー]偽装), 我々は、より多くの情報をここで見つけました https://velog.io/@gomhyeok/프로그래머스위장テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol