https://school.programmers.co.kr/learn/courses/30/lessons/42578
1. ๋ฌธ์
[์์์ข ๋ฅ, ์นดํ ๊ณ ๋ฆฌ]๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง๋ค.
์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉํด์ ์ ์ ์ ์๋ ์๋ฅผ ๋ฐํํ๋ค.
์ฃผ์ํ ์ ์
1. ์ท์ ํ๋๋ง ์ ์ ์๋ ์๋ค.
2. ์ท์ ์๋ฌด๊ฒ๋ ์ ์ง ์์ ์๋ ์๋ค.
2. ํ์ด
ํด์ + ์ํ์ผ๋ก ์ฝ๊ฒ ํ ์ ์๋ค.
์ด ์กฐํฉ ์ = (์ข ๋ฅ๋ณ ์์ ์+1) * (์ข ๋ฅ๋ณ ์์ ์+1) * ... * (์ข ๋ฅ๋ณ ์์ ์+1) - 1
์ ํด์ฃผ๋ฉด ์ด ์กฐํฉ์ ์๊ฐ ๋๋ค.
+1์ ํด์ฃผ๋ ์ด์ ๋ ๊ทธ ์ท์ ์ ์ง ์์์ ๊ฒฝ์ฐ์๋ฉฐ,
-1์ ํด์ฃผ๋ ์ด์ ๋ ์ท์ ์๋ฌด๊ฒ๋ ์ ์ง ์์์ ๊ฒฝ์ฐ์ด๋ค.
์๋ฅผ ๋ค๋ฉด
[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]์ ๊ฒฝ์ฐ,
headgear : 2
eyewear : 1
์ธ ์ํ์ด๋ค.
(2+1) * (1+1) - 1 = 5, ๋ต์ 5๊ฐ ๋๋ค.
[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]]
face : 3
(3+1) - 1 = 3, ๋ต์ 3์ด ๋๋ค.
3. ์ฝ๋
import java.io.*;
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
Map<String, Integer> map = new HashMap<> ();
for(String[] arr : clothes) {
if (map.containsKey(arr[1])) {
map.put(arr[1], map.get(arr[1])+1);
}
else {
map.put(arr[1], 1);
}
}
int answer = 1;
for (String key : map.keySet()) {
answer *= (map.get(key) + 1);
}
answer--;
return answer;
}
}
4. ์ฌ๋ด
๊ฐ์ ์ก์ ๊ฐ์ ์ก์
ํ ์ ์๋ค ํ ์ ์๋ค ~
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์๊ฒฉ์์คํ - Java (1) | 2023.12.05 |
---|---|
[Programmers] ์ ํ๋ฒํธ ๋ชฉ๋ก - Java (0) | 2023.10.04 |
[Programmers] ๋ชจ์์ฌ์ - Java (0) | 2023.10.03 |
[Programmers] ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ - Java (0) | 2023.09.20 |
[Programmers] ํผ๋ก๋ - Java (0) | 2023.09.20 |