λ¬Έμ μΆμ² : https://school.programmers.co.kr/learn/courses/30/lessons/42578
νμ΄κ³Όμ
μ²μμ μ κ·Ό : μ· μ’ λ₯ λ³ κ°―μλ₯Ό μ μ₯νλ λ°°μ΄μ μμ±νκ³ , κ·Έ λ°°μ΄μ λ°±νΈλνΉμΌλ‘ νμνλ©° λͺ¨λ κ²½μ°μ λν΄ κ³μ°μ μ§ννλ € νμ΅λλ€. νμ§λ§ μ΄λ κ² νλ©΄ μκ°λ³΅μ‘λλ₯Ό λ§μ‘±ν μ μμμ΅λλ€.
μλ‘μ΄ μ κ·Όμ λν μκ° : μ§ λΆλΆμ§ν©μ λν΄ μκ°νμ΅λλ€. μ§ λΆλΆμ§ν©μ κ°―μλ 2^n - 1 μ΄λ―λ‘, μ΄ λ¬Έμ μμ μ΅μ μ κ²½μ° n = 30μ΄ λλ―λ‘ μ²μμ μ κ·Όκ³Ό κ°μ΄ μμ νμμ μ§ννλ©΄ λΉμ°ν μκ°μ΄κ³Όκ° λ°μνλ κ²μ΄μμ΅λλ€.
μ¬λ°λ₯Έ νμ΄
1. μ· μ’ λ₯λ³λ‘ μ·μ κ°―μλ₯Ό + 1 ν΄μ€μΌ ν©λλ€. μ¬κΈ°μ +1μ (μ μ§μμμ μλ―Έν©λλ€)
2. +1λ μ· μ’ λ₯λ³ μ·μ κ°―μλ€ λΌλ¦¬μ κ³±μ ν΄μ€λλ€.
3. κ·Έ κ²°κ³Όμ -1 ν κ°μ΄ μ λ΅μ λλ€.
μμ
μΌκ΅΄ : μμ
μ, λκ·Έλ μκ²½, κ²μ μ κΈλΌμ€
μμ : μμ
μ, νλμ ν°μ
μΈ
νμ : μμ
μ, μ²λ°μ§
μμ κ°μ΄ μμ λ κ²½μ° 1μ λν΄μ μΌκ΅΄,μμ,νμ λͺ¨λ μ λ κ²½μ°μ κ°―μλ₯Ό ꡬνλ©΄ (μμ μ, μμ μ, μ²λ°μ§), (μμ μ, νλμ ν°μ μΈ , μ²λ°μ§) μ΄λ°μμΌλ‘ μ‘°ν©μ΄ λκ²λ©λλ€. κ²°κ΅ νλλ§ μ μ λ, λ κ° μ μ λ, ... , λͺ¨λ μ μ λμ κ°μ΄ λͺ¨λ κ²½μ°μ μλ₯Ό ꡬν΄μ€λλ€. λ¨ (μμ μ, μμ μ, μμ μ) μ κ²½μ°λ μ μΈν΄μΌ νκΈ° λλ¬Έμ -1μ ν΄μ£Όλ κ²μ λλ€.
μκ²λμ
- μμ λ κ²½μ°μ λν΄ +1μ ν΄μ€μΌλ‘μ λͺ¨λ μ‘°ν©μ κ°―μλ₯Ό ꡬν μ μλ€λ μμ΄λμ΄λ₯Ό λ°°μ μ΅λλ€.
- μλ° hashMapμ .getOrDefault( , ) λ©μλλ‘ keyκ°μ μ‘΄μ¬ μ¬λΆμ λ°λ₯Έ values μ ν μ ν λ²μ ν μ μμμ μκ²λμμ΅λλ€.
- μλ°μ keyκ°μ λ€ κ°μ Έμ€λ λ©μλλ hashmap.keySet() μ΄κ³ , values κ°μ λ€ κ°μ Έμ€λ λ©μλλ hashMap.values() μμ λ€μ ν λ² λ³΅μ΅νμ΅λλ€.
- putIfAbsent(K key, V value) : keyκ° κΈ°μ‘΄μ μμ λλ§ putμ΄ μ§νλ©λλ€. κΈ°μ‘΄μ μ΄λ―Έ keyκ° μ‘΄μ¬νλ€λ©΄ κ·Έ keyμ ν΄λΉνλ valueλ₯Ό λ°ννκ³ μλ‘μ΄ valueλ₯Ό μ λ°μ΄νΈ νμ§ μμ΅λλ€.
μ μ½λλ₯Ό 보면 putIfAbsentμ λ°νκ°μ κΈ°μ‘΄μ κ°μ λ°ννλ©°, HashMap "μλ°μ valueλ κ·Έλλ‘μΈ κ²μ νμΈν μ μμ΅λλ€.
μ 체μ½λ
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer;
HashMap<String,Integer> map = new HashMap<>();
for(String[] c : clothes){
map.put(c[1],map.getOrDefault(c[1],0)+1);
}
answer = 1;
for(Integer i : map.values()){
answer *= (i+1);
}
answer-=1;
return answer;
}
}
'πμ½λ©ν μ€νΈ:CodingTest' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] λλκ³€ μ»€λΈ (ꡬν) (0) | 2024.04.05 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] νλ‘μΈμ€ (μ°μ μμν) (0) | 2024.04.02 |
[νλ‘κ·Έλλ¨Έμ€] λ°©μ κ°μ (0) | 2024.03.29 |
μ΄λΆνμ (0) | 2024.03.06 |
visitedλ°°μ΄μ΄ 3μ°¨μμΈ bfs μ΅λ¨κ²½λ‘ νμ λ¬Έμ (λ°±μ€ 1600λ²) (2) | 2024.02.28 |