-
[Algo Rhythm๐บ๐] ํ๋ก๊ทธ๋๋จธ์ค ๊ณ ๋์ kit ์์ฅAlgo Rhythm๐บ๐/Programmers 2020. 7. 13. 14:32
๐ ๋ฌธ์ ์ค๋ช
์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค.
์ข ๋ฅ
์ด๋ฆ
์ผ๊ตด
๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค
์์
ํ๋์ ํฐ์ ์ธ
ํ์
์ฒญ๋ฐ์ง
๊ฒ์ท
๊ธด ์ฝํธ
์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
-
clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
-
์คํ์ด๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ 30๊ฐ ์ดํ์ ๋๋ค.
-
๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ์กด์ฌํ์ง ์์ต๋๋ค.
-
clothes์ ๋ชจ๋ ์์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
-
๋ชจ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ด๊ณ ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '_' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
-
์คํ์ด๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
๐ฏ ์ด๋ป๊ฒ ํ์๋
import java.util.HashMap; import java.util.Iterator; class Solution { public int solution(String[][] clothes) { int answer = 1; HashMap<String, Integer> typeNFreq = new HashMap<String, Integer>(); for(int i = 0; i < clothes.length; i++) { String type = clothes[i][1]; if(typeNFreq.containsKey(type)) { int freq = typeNFreq.get(type) + 1; typeNFreq.replace(type, freq); } else { typeNFreq.put(type, 1); } } Iterator<Integer> values = typeNFreq.values().iterator(); while(values.hasNext()) { int v = values.next(); answer *= (v + 1); // +1 -> not wearing } answer--; // exclude when wearing nothing return answer; } }
๐ง ์ ์ ๋ ๊ฒ ํ์๋
์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋จผ์ ์์์ ์ข ๋ฅ๋ฅผ Key๋ก ํ๊ณ ๊ทธ ์ข ๋ฅ์ ํด๋นํ๋ ์ท์ ๊ฐ์๋ฅผ value๋ก ํ๋ ํด์๋งต์ ๋ง๋ ๋ค.
๊ทธ๋ฆฌ๊ณ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋ clothes ๋ฐฐ์ด์ ์ํํ๋ฉด์ ํด์๋งต์ ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ฃ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ ๊ณ์ฐํด์ฃผ๋๋ฐ ์ด ๋ถ๋ถ์ด ์ด ๋ฌธ์ ์ ํต์ฌ์ด๋ค!
๋ง์ฝ ์คํ์ด๊ฐ A๋ผ๋ ์์์ ์ข ๋ฅ์ a1, a2, a3๋ผ๋ ์ท์ด ์๊ณ B๋ผ๋ ์์์ ์ข ๋ฅ์ b1, b2๋ผ๋ ์ท์ด ์๋ค๊ณ ๊ฐ์ ํ์. ๊ทธ๋ฆฌ๊ณ A์ B์ ๊ฐ๊ฐ ์ท์ ์ ์ ๋๋ค๋ ๋ป์ธ <์ ์ ์> ์ด๋ผ๋ ์ท์ ์ถ๊ฐํ๋ค.
์ด๋ด ๊ฒฝ์ฐ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ (A ์์์ ๊ฐ์) * (B ์์์ ๊ฐ์) = 4 * 3 = 12์ด๋ค.
ํ์ง๋ง ์คํ์ด๋ ํ๋ฃจ์ ์ต์ํ ํ๋์ ์ท์ ์ ๊ธฐ ๋๋ฌธ์ A ์์๊ณผ B ์์ ๋ชจ๋ ์ ์ง ์๋ ๊ฒฝ์ฐ ํ๋๋ ๋นผ์ฃผ์ด์ผ ํ๋ค.
๐ ๋ฌด์์ ๋ฐฐ์ ๋
๊ณ ๋ฑํ๊ต๋ ํ๋ฅ ๊ณผ ํต๊ณ ์๊ฐ์ ๋ฐฐ์ด ๊ฒ์ด ์ง๊ธ ์ฐ์ผ ์ค ๋ชฐ๋๋ค.
์ค๋๋ง์ ํํต์ ๋ ์ฌ๋ฆฌ๊ฒ ๋์ ๋ฐ๊ฐ๊ณ ์ํ๊ณต๋ถ๋ฅผ ์ด์ฌํ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
'Algo Rhythm๐บ๐ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
-