https://programmers.co.kr/learn/courses/30/lessons/42578
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ๊ณ ๋์ Kit ์์ฅ ๋ฌธ์ ํ์ด์ด๋ค.
์ข ๋ฅ ๋ณ๋ก ํ๋์ฉ๋ง ์ ์ ์ ์์ผ๋ฏ๋ก ๋งต์ ์ข ๋ฅ๋ฅผ ํค๋ก, ์ข ๋ฅ๋ณ ์๋ฅ ์๋ฅผ ๊ฐ์ผ๋ก ๋ฃ์ด์ค๋ค.
์๋ฅผ ๋ค์ด ์ข ๋ฅ๋ณ ์๋ฅ ์๊ฐ 2๊ฐ๋ฉด 0(์ ์ ๊ธฐ), 1(1๋ฒ ์ ๊ธฐ), 2(2๋ฒ ์ ๊ธฐ)์ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๊ณ , ๊ทธ ๊ฒฝ์ฐ๋ค์ ๋ชจ๋ ๊ณฑํด์ฃผ๋ฉด ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์๋ค. ์๋ฌด ๊ฒ๋ ์ ์ ๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ๋ชจ๋ 0์ธ ๊ฒฝ์ฐ๋ฅผ ํ๋ ๋นผ์ฃผ์๋ค.
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
// clothes ๋ฐฐ์ด์ ์ข
๋ฅ๋ฅผ key๋ก, ์ข
๋ฅ๋ณ ๊ฐ์๋ฅผ value๋ก map์ ๋ฃ์ด์ค
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < clothes.length; i++) {
// ์ข
๋ฅ, ๊ฐ์์ ์์ผ๋ก ๋ฃ์ด์ค
// ๊ฐ์๋ map์ ๊ทธ ์ข
๋ฅ๊ฐ ์์ผ๋ฉด 0์ ๋ฃ์ด์ค
map.put(clothes[i][1], map.getOrDefault(clothes[i][1], 0) + 1);
}
// ์ข
๋ฅ, ๊ฐ์์ ์์ผ๋ก ์ด๋ฃจ์ด์ง map์์ key๋ง ์ถ์ถ
Set<String> set = map.keySet();
for (String key : set) {
// answer์ value + 1 ํ ๊ฐ์ ๋์ ํ์ฌ ๊ณฑํด์ค
answer = answer * (map.get(key) + 1);
}
// ์ ์
๋ ๊ฒฝ์ฐ
return answer - 1;
}
}
'๊ฐ๋ฐ > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ธฐ๋ฅ๊ฐ๋ฐ (Java) (0) | 2021.11.12 |
---|---|
๋ฒ ์คํธ์จ๋ฒ (Java) (0) | 2021.11.03 |
์ ํ๋ฒํธ ๋ชฉ๋ก (Java) (0) | 2021.11.01 |
์์ฃผํ์ง ๋ชปํ ์ ์ (Java) (0) | 2021.11.01 |
ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (Java) (0) | 2021.10.29 |
๋๊ธ