https://programmers.co.kr/learn/courses/30/lessons/42578
์ฝ๋
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
HashMap<String, Integer> map = new HashMap<String, Integer>();
int answer = 1;
for(int i=0; i<clothes.length; i++){
// ํ์ฌ ์์์ ์ข
๋ฅ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด 1๊ฐ ๋ฃ๊ณ , ์กด์ฌํ๋ฉด +1
if(map.get(clothes[i][1]) == null) map.put(clothes[i][1], 1);
else map.put(clothes[i][1], map.get(clothes[i][1]) + 1);
}
for(String keys : map.keySet())
answer *= (map.get(keys) + 1);
return answer-1;
}
}
ํ์ด
์๋ฐ์ ์ปฌ๋ ์ ํ๋ ์์ํฌ์ค List์ ๋ํด์ ์ด๋์ ๋ ์ฌ์ฉ์ ํด๋ณด์์ง๋ง, Map์ ๋ํด์ ๊ฑฐ์ ๋ฌด์งํด์ ํด์์ ๋ํด ์ด๋์ ๋ ๊ณต๋ถ๋ฅผ ํด์ผ ํ ๊ฒ๋ ๊ฐ์๊ณ , ์ต๊ทผ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด ํด์๋งต์ ์ฌ์ฉํ์๋, ์ฌ์ฉํด์ผํ ๋ ํ๋ฆฌ๋ ๋ฌธ์ ๋ค๋ ์ด๋์ ๋ ์กด์ฌํด์ ๊ณต๋ถํด์ผ ํ ๊ฒ ๊ฐ์์ ํ์ด๋ณด์๋ค...(๋ฌผ๋ก ์ง์ ํ์ง ๋ชปํ๋ค .. ใ ใ )
์ด ๋ฌธ์ ์์ ํ์ํ ๊ฒ์ ์ท์ ์ด๋ฆ์ด ์๋ ์ท ์ข ๋ฅ์ ๊ฐ์๊ฐ ๋ช๊ฐ ์กด์ฌํ๋๋์ด๋ค.
{์ท ์ข ๋ฅ} : {์ด ๊ฐฏ์} ์ ๊ฐ์ด Key : Value ํํ์ ๋น์ทํ ๊ตฌ์กฐ์ด๋ค.
์ ? ๊ฒฝ์ฐ์์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ค. ๊ฐ๋จํ๊ฒ ํ๊ธฐ ์ํด์ ์ด ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ ๋ถ๋ค..
๊ทธ๋ผ ๊ฒฝ์ฐ์ ์๋ ์ด๋ป๊ฒ ๊ตฌํ๋์ง ๋ณด์.
์ ์ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๊ฐ ์ท์ ์ข ๋ฅ +1 ์ ๋ชจ๋ ๊ณฑํ ๋ค -1 ์ ํด์ฃผ๋ฉด ๋๋ค.
๊ฐ ์ข ๋ฅ์ ์ท๋ค์ ๋ชจ๋ ์ ๊ฑฐ๋ ์์ ๊ฑฐ๋ 2๊ฐ์ง์ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์, +1์ฉ ํด์ค์ผ ํ๋ค.
๋ง์ฝ ์์ ์์ ์ฒ๋ผ ์ท์ ์ข ๋ฅ๊ฐ "headgear" , "eyewear" ์ 2์ข ๋ฅ๊ฐ ์๊ณ , ์์์ ๊ฐ๊ฐ 2๊ฐ, 1๊ฐ๊ฐ ์๋ค๋ฉด
(2+1) * (1+1) - 1 = 5 ๊ฐ ์ ๋ต์ด ๋๋ค.
์ท์ ํ๋๋ ์ ์ง ์๋ ๊ฒฝ์ฐ๋ ์๊ธฐ๋ฏ๋ก -1์ ํด์ค์ผ ํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5052๋ฒ: ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2020.03.07 |
---|---|
[Codeforces] 431A: Black Square (0) | 2020.03.07 |
[๋ฐฑ์ค] 1062๋ฒ: ๊ฐ๋ฅด์นจ(์์ ํ์, ๋ฐฑํธ๋ํน) (0) | 2020.03.06 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ์ ํ๋ฒํธ ๋ชฉ๋ก(ํด์) (0) | 2020.03.05 |
[๋ฐฑ์ค] 1748๋ฒ: ์ ์ด์ด ์ฐ๊ธฐ 1(๊ตฌํ) (0) | 2020.03.05 |
๋๊ธ