본문 바로가기
개발/Coding Test

[프로그래머스 C++ Lv2] 위장

by Eunduck 2022. 6. 6.
728x90

안녕하십니까. Eun🦆입니다.

풀이법 입니다.

 

 

코딩테스트 연습 - 위장

 

programmers.co.kr

#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
    int answer = 0;
    vector<int> kind;
    for(int i=0;i<clothes.size();i++)
    {
        int cnt = 1;
        int n =clothes.size();
        for(int j=n-1;j>i;j--)
        {
            if(clothes[i][1].size()==clothes[j][1].size()) // 길이가 같은 경우에만
            {
                for(int k=0;k<clothes[i][1].size();k++)
                {
                    if(clothes[i][1][k] != clothes[j][1][k])
                    {
                        break;
                    }
                    if(k==clothes[i][1].size()-1)
                    {
                        clothes.erase(clothes.begin()+j);
                        cnt++;
                    }
                }
            }
        }
        kind.push_back(cnt);
    }
    int sum = 1;
    for(int i=0;i<kind.size();i++)
    {
        sum *= (kind[i]+1);
    }
    answer = sum-1;
    return answer;
}

 

네이버 블로그 리뉴얼입니다.

(https://blog.naver.com/unsuk1/221945315862)

728x90

댓글