링크 : programmers.co.kr/learn/courses/30/lessons/42578
분류 : 해시
해시의 개념을 모르고 있었기에, 최대한 아는 개념을 동원해 vector로 문제를 풀려했다.
채점 후 몇몇 테스트 케이스에서 실패가 나고 코드가 점점 길어지자 다른 문제 해결 방법이 필요하다는 것을 깨달았다.
map이라는 개념을 파악한 뒤, 해당 개념을 통해 문제를 접근했다.
#include <string>
#include <vector>
#include <iterator>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
map<string, int> map1;
for (int i = 0; i < clothes.size(); i++) {
map1[clothes[i][1]]++;
}
map<string, int>::iterator i;
for (i = map1.begin(); i != map1.end(); i++) {
answer *= i->second + 1;
}
return answer - 1; // 모두 안입는 경우는 제외
}
'🖥️ CS > SW Expert 외의 Algorithms' 카테고리의 다른 글
(LeetCode) 49. Group Anagrams (0) | 2020.11.09 |
---|---|
(LeetCode) 70. Climbing Stairs (0) | 2020.10.27 |
(프로그래머스 C++) Lv2 카펫 (1) | 2020.10.14 |
(프로그래머스 C++) Lv3 여행경로 (0) | 2020.10.14 |
(프로그래머스 C++) Lv2 문제 중 문자열 (1) (0) | 2020.10.13 |