์ฝ๋๋ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ๋๊ฒ์ ์ข์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฝ๋๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ , ์ค๋ ์ฝ๋๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผํฉ๋๋ค.
์ข ๋ฅ | ์ด๋ฆ |
---|---|
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์ ์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
์ฝ๋๋ ๊ฐ ์ข ๋ฅ๋ณ๋ก ์ต๋ 1๊ฐ์ง ์์๋ง ์ฐฉ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ ์์์ ๊ฒฝ์ฐ ๋๊ทธ๋ ์๊ฒฝ๊ณผ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ๋์์ ์ฐฉ์ฉํ ์๋ ์์ต๋๋ค.
์ฐฉ์ฉํ ์์์ ์ผ๋ถ๊ฐ ๊ฒน์น๋๋ผ๋, ๋ค๋ฅธ ์์์ด ๊ฒน์น์ง ์๊ฑฐ๋, ํน์ ์์์ ์ถ๊ฐ๋ก ๋ ์ฐฉ์ฉํ ๊ฒฝ์ฐ์๋ ์๋ก ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ท์ ์ฐฉ์ฉํ ๊ฒ์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
์ฝ๋๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
์ฝ๋๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
clothes | return |
---|---|
[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] | 5 |
[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]] | 3 |
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
face์ ํด๋นํ๋ ์์์ด crow_mask, blue_sunglasses, smoky_makeup์ด๋ฏ๋ก ์๋์ ๊ฐ์ด 3๊ฐ์ ์กฐํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
1. crow_mask
2. blue_sunglasses
3. smoky_makeup
์ด ๋ฌธ์ ๋ ์กฐํฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์, ์ท์ ์ข ๋ฅ์ ๊ฐฏ์๊ฐ ๊ฐ์ฅ ์ค์ํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
์ท์ ์ข ๋ฅ์ ๋ฐ๋ฅธ ๊ฐฏ์๋ฅผ ์ ์ฅํ ์ ์๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ก HashMap์ ์ ํํ๊ณ , ๊ฐ ์ข ๋ฅ๋ณ ์ท์ ๊ฐฏ์๋ฅผ ๋ชจ๋ ๊ณฑํด์ค์ผ๋ก์จ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์์์ต๋๋ค.
๋ค๋ง, ์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ํ ์ ์ ๊ฐ๊ฐ์ ์ท์ ์
์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ํด value
์ 1์ ๋ํด์ฃผ๋ ์ฒ๋ฆฌ์, ๋ชจ๋ ์ท์ ์
์ง ์๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฐํํ ๋ 1์ ๋นผ์ฃผ๋ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> clothesCount = new HashMap<>();
for (String[] cloth : clothes) {
clothesCount.put(cloth[1], clothesCount.getOrDefault(cloth[1], 0) + 1);
}
for (int value : clothesCount.values()) {
answer *= (value + 1);
}
return answer - 1;
}
}
์ข์์๐