위장 (프로그래머스 : C#)

이도희·2022년 8월 16일
0

알고리즘 문제 풀이

목록 보기
1/185

📕 문제 설명

스파이가 가진 의상들이 주어질 때, 서로 다른 옷의 조합 수를 구해 반환한다.

  • Rules
  1. 매일 다른 옷 조합이 필요함
  2. clothes 각 행은 [의상 이름, 의상 종류] 임

풀이

경우의 수를 사용하여 풀었다. 먼저 주어진 의상 배열을 돌면서 딕셔너리에 <의상종류, 개수>로 담는다. 최종적으로 모든 경우의 수를 보는 것은 의상 종류에 + 1(포함 안 하는 경우)를 한 후 곱하는 것이다. 이 때 모두 안 뽑는 경우 하나를 마지막에 제외시키면 답을 구할 수 있다!

using System;
using System.Collections.Generic;

public class Solution {
    public int solution(string[,] clothes) {
        int answer = 1;
        // 의상 종류 , 개수
        Dictionary<string,int> dict = new Dictionary<string,int>();
        for(int i = 0; i < clothes.GetLength(0); i++)
        {
            if(dict.ContainsKey(clothes[i,1])){dict[clothes[i,1]] += 1;}
            else{dict[clothes[i,1]] = 1;}
        }
        foreach(KeyValuePair<string, int> cloth in dict)
        {
            answer = answer * (cloth.Value+1);
        }
        answer -= 1;
        return answer;

    }
}

정확도 테스트

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글