https://programmers.co.kr/learn/courses/30/lessons/42578
나의 풀이
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
unordered_map<string,int> name;
for (vector<string> v : clothes) {
name[v[1]]++;
}
for (pair<string,int> p : name) {
answer *= (p.second + 1);
}
return answer-1;
}
해당 문제는 조금 고민을 했다.
unordered_map 사용법을 잘 몰라서 어려운 점이 있었다.
풀이방법은 알지만 map의 기능 사용이 미숙해서 오래걸린 케이스이다.
옷의 종류를 key로 주고 해당 key를 가진 옷의 수를 세어서 value 값으로 두었다.
모든 옷 종류의 개수를 구하면 해당 옷으로 만들수 있는 모든 경우의 수에서
아무것도 입지 않은 경우인 1을 빼면 정답이 된다.
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 1655번 가운데를 말해요 (0) | 2021.12.29 |
---|---|
(c++) 백준 12865 평범한 배낭 (0) | 2021.12.29 |
(c++) 프로그래머스 해시 완주하지 못한 선수 (0) | 2021.12.11 |
[c++] 프로그래머스 완전탐색 카펫 (0) | 2021.10.28 |
[c++] 프로그래머스 완전탐색 소수찾기 (0) | 2021.10.28 |