๋ฌธ์ ์ค๋ช
์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ
์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด
๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค.
์ข ๋ฅ | ์ด๋ฆ |
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์ ์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋
์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ 30๊ฐ ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ์กด์ฌํ์ง ์์ต๋๋ค.
- clothes์ ๋ชจ๋ ์์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ๋ชจ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ด๊ณ ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '_' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
์ ์ถ๋ ฅ ์
clothes | return |
[["yellowhat", "headgear"], ["bluesunglasses", "eyewear"], ["green_turban", "headgear"]] | 5 |
[["crowmask", "face"], ["bluesunglasses", "face"], ["smoky_makeup", "face"]] | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์์ #1
headgear์ ํด๋นํ๋ ์์์ด yellow_hat, green_turban์ด๊ณ
eyewear์ ํด๋นํ๋ ์์์ด blue_sunglasses์ด๋ฏ๋ก ์๋์ ๊ฐ์ด 5๊ฐ์ ์กฐํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
1. yellow_hat
2. blue_sunglasses
3. green_turban
4. yellow_hat + blue_sunglasses
5. green_turban + blue_sunglasses
์์ #2
face์ ํด๋นํ๋ ์์์ด crow_mask, blue_sunglasses, smoky_makeup์ด๋ฏ๋ก
์๋์ ๊ฐ์ด 3๊ฐ์ ์กฐํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
1. crow_mask
2. blue_sunglasses
3. smoky_makeup
์ฝ๋
#include <string>
#include <vector>
#include <unordered_map>
#include <iostream>
using namespace std;
int solution(vector<vector<string>> clothes)
{
int answer = 1;
unordered_map<string, int> clotheMap;
for( auto elem : clothes )
{
cout << "elem[1]: " << elem[1] << endl;
clotheMap[elem[1]] += 1;
}
for( auto elem: clotheMap)
{
answer *= (elem.second+1);
cout << "answer: " << answer << endl;
}
return answer-1;
}
int main(void)
{
vector<vector<string>> vec;
vector<string> vec1;
vec1.push_back("yellowhat");
vec1.push_back("headgear");
vector<string> vec2;
vec2.push_back("bluesunglasses");
vec2.push_back("eyewear");
vector<string> vec3;
vec3.push_back("green_turban");
vec3.push_back("headgear");
vec.push_back(vec1);
vec.push_back(vec2);
vec.push_back(vec3);
cout << solution(vec) << endl;
return 0;
}
* warning ํ์ธ์ฐจ main ํจ์ ์ถ๊ฐํ๊ฑฐ๋ผ solution ํจ์๋ง ๋ณด๋ฉด ๋ฉ๋๋ค *
์๊ฑฐ๋ ํด์ ๋งต์ ์ฌ์ฉํด์ ํ๋ฉด ๋๋๋ฐ...!
๋๋ ๊ธ์ ์ ๋ชป ์ฝ์ด์ ๋ฌธ์ ์ดํดํ๋๋ฐ ์ค๋๊ฑธ๋ ธ๋ค ใ ใ
์ฑ ์ ์ฝ์ด์ผ ํ๋ค ์ด๋์
์ด ๋ฌธ์ ์ ํฌ์ธํธ๋ ๊ฐ์ ์์ ์ข ๋ฅ์ ๋ํ ๊ฐฏ์์ด๋ค
์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ์์ ์ ๊ฒฝ์ฐ headgear ์์์ด ๋ ๊ฐ์ง(yellowhat๊ณผ green_turban)์ด๋๊น
ํด์ฌ ๋งต์ headgear์ key๋ฅผ ๊ฐ์ง๋ value ๊ฐ์ ์ฆ๊ฐ์์ผ์ฃผ๋ฉด ๋๋ค
๊ทธ๋ฌ๋ฉด ์์์ ๊ฐ์๋ฅผ ํตํด ์์์ ๊ณ ๋ฅด๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์๋ค
์ฒซ ๋ฒ์งธ ์์ ์ ๊ฒฝ์ฐ headgear ๋ ๊ฐ, eyewear ํ ๊ฐ ์ด๋ฏ๋ก
headgear ์ ๊ฒฝ์ฐ์ ์ → yellowhat ์ ์ ๊ฒฝ์ฐ / green_turban ์ ์ ๊ฒฝ์ฐ/ ๋ ๋ค ์์ ์ ๊ฒฝ์ฐ
eyewear์ ๊ฒฝ์ฐ์ ์ → bluesunglasses ์ ์ ๊ฒฝ์ฐ / ์ ์ ์ ๊ฒฝ์ฐ
∴ (์์์ ๊ฐ์ +1)*(์์์ ๊ฐ์ +1) ์ด๋ ๊ฒ ๋๊ณ !
๋ํ ํ๋ฃจ์ ํ ๊ฐ์ ์์์ ์ ์ด์ผํ๋๊น
์ ์ฒด ๋ค ์ ์ ์ ๊ฒฝ์ฐ์ ์์ธ 1์ ๋นผ๊ธฐ ํด์ฃผ๋ฉด ๊ณต์์ ์์ฑ๋๋น
(return answer-1 ํด์ฃผ๋ ์ด์ )
'๐Algorithm ------------ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ ๋ ฌ/k๋ฒ์งธ์/C++ (0) | 2021.07.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ํ/๋๋งต๊ฒ/C++ (0) | 2021.07.28 |
ํ๋ก๊ทธ๋๋จธ์ค - ์คํ/ํ/๊ธฐ๋ฅ๊ฐ๋ฐ/C++ (0) | 2021.07.28 |
ํ๋ก๊ทธ๋๋จธ์ค - ํด์/์ ํ๋ฒํธ ๋ชฉ๋ก/C++ (0) | 2021.07.26 |
ํ๋ก๊ทธ๋๋จธ์ค - ํด์/์์ฃผํ์ง ๋ชปํ ์ ์/C++ (0) | 2021.07.23 |