์์ ๋งค์ผ๋งค์ผ ์ฝํ ๋ฅผ ์ค๋นํ๋ฉฐ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋ฅผ ํ๊ณ ์๋ค. ์ฒ์์ ์์ ํ ๋งํ์ง๋ง ๊ทธ๋๋ ์ด์ ์ด๋ ์ ๋ ํ์ด๊ฐ ๋ ์ค๋ฅด๊ธด ํ๋ค. ํ ๊ฐ์ง ์์ฌ์ด ์ ์ ์๊ฐ๋ณด๋ค ํด๋์ค๋ง๋ค ๋ค์ํ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์ด๋ฅผ ์ ์๊ณ ํ์ฉํด์ผ ํ๋ค๋ ์ ์ด๋ค.
์ ์ผ ๋ง์ด ๋์ค๋ ์ ํ์ธ ํด์ ๋ฌธ์ ๋ฅผ ๋ง์ฃผํ๊ณ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ํ์ฉํ ๋ฉ์๋๋ฅผ ๊ฒ์ํด์ ์ด๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์์ง๋ง ํ๋ฒ ์ ๋ฆฌํด๋ณผ ๋งํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐ์ด ๋ค์ด์ ์ด๋ ๊ฒ ์ ๋ฆฌํ๊ฒ ๋์๋ค.
๋ฌธ์ ์ค๋ช
์์ฅ์ด๋ผ๋ ๋ฌธ์ ์ธ๋ฐ,
์ท์ ์ข ๋ฅ์ ์ท์ ์ด๋ฆ์ผ๋ก ์ด๋ฃจ์ด์ง 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์ง๊ณ
๊ทธ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋งค์ผ ์ท์ ๋ค๋ฅด๊ฒ ์ ์ด์ผ ํ๊ณ ,
ํ๋ฃจ์ ์ท 1๊ฐ๋ ๋ฌด์กฐ๊ฑด ์ ๋ ์กฐ๊ฑด์ด๋ค. ํด์๋ฅผ ์ด์ฉํด ํ๋๋ค.
ํ์ด
public int solution(String[][] clothes) {
Map<String, Integer> map = new HashMap<>();
int answer = 1;
for (int i = 0; i < clothes.length; i++) {
map.put(clothes[i][1], map.getOrDefault(clothes[i][1], 0) + 1);
}
for (Map.Entry<String,Integer> entry : map.entrySet()) {
answer *= entry.getValue() + 1;
}
return answer - 1;
}
- ๋ฐฐ์ด ๊ธธ์ด๋งํผ ๋ฐ๋ณต์ ํ๋ฉฐ map์ ์ํธ๋ฆฌ๋ฅผ ๋ฃ์ด์ค๋ค. (ํค์ ์ท, ๊ฐ์ ์ซ์)
- ๊ฐ์ ๊ฐ์๋งํผ ๋ฐ๋ณต์ ํ๋ฉฐ ์ ๋ต์ ๊ณฑํด์ฃผ๋ฉฐ ์ฐ์ฐ์ ํ๋ค.
- ์ท 1๊ฐ๋ ๋ฌด์กฐ๊ฑด ์ ์ด์ผ ํ๊ธฐ์ -1์ ํด์ค๋ค.
๊ตฌ๊ธ๋ง์ ํ๋ฉฐ map ๊ด๋ จ ๋ฉ์๋๋ค์ ์ฐพ์๊ฐ๋ฉฐ ๋ฌธ์ ๋ฅผ ํ์์ง๋ง, ํด๋น ๋ฉ์๋๋ค์ ํ์คํ ์ ๋ฆฌํด์ผ ๋์ค์ ๊น๋จน์ง ์์ ๊ฒ ๊ฐ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ๋ค.
getOrDefault(Object key, V DefaultValue)
๋งค๊ฐ๋ณ์ :
key : ํค
defaultValue : ํค์ ๋งคํ๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐํ๋๋ ๊ธฐ๋ณธ ๊ฐ
=> ์ฐพ๋ key๊ฐ ์กด์ฌํ๋ฉด ๋งคํ๋ ๊ฐ์ ๋ฐํํ๊ณ ์์ ๊ฒฝ์ฐ default ๊ฐ์ด ๋ฐํ๋๋ค.
Map.Entry
Map ํํ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ
Map์ ์ด์ฉํด ๋ฐ๋ณตํ๊ฑฐ๋ ์ธํฐํ์ด์ค ์ฉ๋๋ก ์ฌ์ฉํ๊ฑฐ๋ Stream ์ฌ์ฉ ์ Map ํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋ ์ฌ์ฉํ๋ค.
public Set<Map.Entry<K,โV>> entrySet()
ํด๋น map์ key, value๋ฅผ ๊ฐ์ง๋ Set ๊ฐ์ฒด๋ฅผ ๋ฆฌํด
๋ฐ๋ณต๋ฌธ์์ ์ฃผ๋ก ์ฌ์ฉ
keyset()๋ ์๋๋ฐ ์ด๋ key๋ง ์ป์ด์ฌ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.
๋ด ์ฝ๋์์๋ ์ํธ๋ฆฌ๋ ํ์ํ๋ฏ๋ก entrySet()์ ์ฌ์ฉํ๋ค.
์ฐธ์กฐ: https://hianna.tistory.com/573
[Java] HashMap key, value ์ ์ฒด ์ถ๋ ฅํ๊ธฐ
map.entrySet() map.keySet(), mep.get() map.keyValue() - value๋ง ๊ฐ์ ธ์ค๊ธฐ Iterator forEach (Java 8 ์ดํ) 1. map.entrySet() public Set > entrySet() map.entrySet() ๋ฉ์๋๋ ํด๋น map์ key์ value๋ฅผ..
hianna.tistory.com
์ฐธ์กฐ : https://wakestand.tistory.com/649
์๋ฐ Map.Entry ์ฌ์ฉ๋ฐฉ๋ฒ ์ ๋ฆฌ
์๋ฐ์์ Map.Entry ๋ Map ํํ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋๋ฐ ์ค์ ์ฌ์ฉ์ ์์ ๊ฐ์ด Map์ For ๋ฌธ์์ ๋๋ ค์ค ๊ฒฝ์ฐ ์ธํฐํ์ด์ค ์ฉ๋๋ก ์ฌ์ฉํ๊ฑฐ๋ ํน์ ์คํธ๋ฆผ(Stream) ์ฌ์ฉ ์ Map ํ์์ ๋ฐ์ด
wakestand.tistory.com
'๐ Algorithm > ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2022.05.24 ใLv.3 ์ ๊ตญ์ฌ์ฌใ (0) | 2022.05.24 |
---|---|
2022.05.18 ใLv.2 Heap ๋ ๋งต๊ฒใ (0) | 2022.05.18 |
2022.05.17 ใLv.2 ํ๋ฆฐํฐใ (0) | 2022.05.17 |
2022.05.16 ใLv.2 ์นดํซใ (0) | 2022.05.16 |
2022.05.12 ใLV2 ์์ ์ฐพ๊ธฐใ (0) | 2022.05.12 |