[programmers] ์์ - Java
์ฝ๋์ ์์ ์กฐํฉ ๋ฌธ์ ๋ HashMap์ ํ์ฉํ์ฌ ๊ฐ ์์ ์ ํ์ ์๋ฅผ ์ ์ฅํ๊ณ , ์ด๋ฅผ ํตํด ์๋ก ๋ค๋ฅธ ์์ ์กฐํฉ์ ์๋ฅผ ๊ณ์ฐํ๋ค. ๊ฐ ์์ ์ ํ๋ณ๋ก ์์์ ์
์ง ์์์ ๋์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์์์ ์์ 1์ ๋ํ ๊ฐ์ ๊ณฑํ๊ณ , ๋ง์ง๋ง์ผ๋ก ๋ชจ๋ ์์์ ์
์ง ์์์ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์ฌ 1์ ๋นผ์ค๋ค. ์ด ๋ฌธ์ ๋ฅผ ํตํด ์กฐํฉ ๊ณต์์ ์ฝ๋๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ตํ ์ ์๋ค.
Mar 15, 2024
์์
๋ฌธ์ ์ค๋ช
์ฝ๋๋ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์
๋๊ฒ์ ์ข์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฝ๋๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ , ์ค๋ ์ฝ๋๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์
์ธ ๋ฅผ ์
์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์
๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผํฉ๋๋ค.
์ข
๋ฅ | ์ด๋ฆ |
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์
์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
- ์ฝ๋๋ ๊ฐ ์ข ๋ฅ๋ณ๋ก ์ต๋ 1๊ฐ์ง ์์๋ง ์ฐฉ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ ์์์ ๊ฒฝ์ฐ ๋๊ทธ๋ ์๊ฒฝ๊ณผ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ๋์์ ์ฐฉ์ฉํ ์๋ ์์ต๋๋ค.
- ์ฐฉ์ฉํ ์์์ ์ผ๋ถ๊ฐ ๊ฒน์น๋๋ผ๋, ๋ค๋ฅธ ์์์ด ๊ฒน์น์ง ์๊ฑฐ๋, ํน์ ์์์ ์ถ๊ฐ๋ก ๋ ์ฐฉ์ฉํ ๊ฒฝ์ฐ์๋ ์๋ก ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ท์ ์ฐฉ์ฉํ ๊ฒ์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
- ์ฝ๋๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
์ฝ๋๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฝ๋๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ 30๊ฐ ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ์กด์ฌํ์ง ์์ต๋๋ค.
- clothes์ ๋ชจ๋ ์์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ๋ชจ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ด๊ณ ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '_' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
clothes | return |
[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] | 5 |
[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]] | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์์ #1
headgear์ ํด๋นํ๋ ์์์ด yellow_hat, green_turban์ด๊ณ eyewear์ ํด๋นํ๋ ์์์ด blue_sunglasses์ด๋ฏ๋ก ์๋์ ๊ฐ์ด 5๊ฐ์ ์กฐํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
1. yellow_hat
2. blue_sunglasses
3. green_turban
4. yellow_hat + blue_sunglasses
5. green_turban + blue_sunglasses
์์ #2
face์ ํด๋นํ๋ ์์์ด crow_mask, blue_sunglasses, smoky_makeup์ด๋ฏ๋ก ์๋์ ๊ฐ์ด 3๊ฐ์ ์กฐํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
1. crow_mask
2. blue_sunglasses
3. smoky_makeup
solution.java
import java.util.*; class Solution { public int solution(String[][] clothes) { HashMap<String, Integer> clothesMap = new HashMap<>(); for (String[] cloth : clothes) { String type = cloth[1]; clothesMap.put(type, clothesMap.getOrDefault(type, 0) + 1); } System.out.println(clothesMap); int answer = 1; for (int count : clothesMap.values()) { answer *= (count + 1); } return answer - 1; } }
ํต์ฌ ํค์๋
- HashMap์ ์์ฑํด์ ๊ฐ ์ ํ์ ์ท ์๋ฅผ ์ ์ฅํ๋ค.
- clothes ๋ฐฐ์ด์ ๊ฐ ํ์ ๋ฐ๋ณตํด์ ์ ํ๋ณ๋ก ์ท์ด ๋ช๊ฐ๋ ์๋์ง ์์๋ธ๋ค.
- ๊ณฑ์ ์ ํ๊ธฐ ์ํด ๋ณ์๋ฅผ 1๋ก ์ค์ ํ๊ณ , ์ท์ ์ข ๋ฅ๋ณ๋ก ์ท์ ์ ์ง ์์์ ๋์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ท์ ์์ 1์ ๋ํ ๊ฐ์ ๊ณฑํ๋ค.
- ๋ง์ง๋ง์ผ๋ก ๋ชจ๋ ์ท์ ์ ์ง ์์์ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก 1์ ๋นผ์ค๋ค.
๊ฒฐ๋ก !
ํด๋น ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์กฐํฉ ๊ณต์์ ํ์ฉํ๋ ๋ฒ์ ์ฝ๋๋ก ์ตํ ์ ์์๋ค.
Share article