PROGRAMMERS_Lv2_μμ₯
π [Lv2_42578] μμ₯
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
Map<String, Integer> map = new HashMap<String,Integer>();
// hashMapμ κ°λ€ λ£κΈ°
// key : μλ₯ μ’
λ₯ , value : μλ₯ μ΄λ¦
for(int i=0; i<clothes.length; i++){
// μλ₯ μ’
λ₯
String clothesType = clothes[i][1];
// λ§μ½ μλ₯ μ’
λ₯κ° μ΄λ―Έ μμΌλ©΄
if(map.containsKey(clothesType)){
// νλ μΉ΄μ΄ν
μΆκ°ν΄μ£ΌκΈ°
map.put(clothesType,map.get(clothesType)+1);
}
// μλ₯ μ’
λ₯κ° μμΌλ©΄ μΆκ°
else{
map.put(clothesType,1);
}
}
for(int num : map.values()){
answer *= (num+1);
}
// λͺ¨λ μ μΈνλ κ²½μ°
answer -= 1;
return answer;
}
}
π€ λμ μκ°
ν΄μ¬ ν¨μλ₯Ό μ΄μ©ν΄ νΈλ λ¬Έμ λ° λ¨Όμ μ΄ κ²½μ°μ μλ₯Ό ꡬνλ 곡μμ μ°Ύμλ΄μΌ νλ€.
μ¬λ¬ κ²½μ°λ₯Ό κ³ λ €ν΄ λ³Έ κ²°κ³Ό λ΄κ° μμλΈ κ²μ λ€μκ³Ό κ°λ€.
νλμ μ·μ μ’
λ₯μμ κ³ λ₯Ό μ μλ κ²½μ°λ (μ΄ μμ+1)μ΄λ€. κ·Έ μ΄μ λ κ³ λ₯΄μ§ μλ κ²½μ° λλ¬Έμ΄λ€.
κ·Έλ¦¬κ³ λ§μ§λ§μ μ무κ²λ μκ³ λ₯Έ κ²½μ°λ₯Ό νλ λΉΌμ€λ€.
μ΄ κ²½μ°μ μλ (μ΄ μμ+1)*(μ΄ μμ+1)β¦ -1 μ΄λ€.
μ΄ κ³Όμ μ Hash ν¨μλ₯Ό μ¬μ©ν΄μ νμ΄μ£Όλ©΄ λλ€.