[프로그래머스] 위장_JAVA
2022. 2. 10. 18:41ㆍ알고리즘/프로그래머스
반응형
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42578
문제를 읽고 파악하는 데 시간이 좀 들었던 녀석이다.
위장을 하는데 상,하의없이 모자만(?)입는 기행을 벌인다. (오히려 위장이 안 되지 않을까..?)
문제만 파악하면 풀이는 간단하다. 초등학교때 상의, 하의를 돌려입는 가짓 수 찾기를 떠올렸다.
해시 맵에 <의상 종류, 가짓 수> 로 넣는다. 예를 들어
상의a, 상의b, 하의, 신발a, 신발b 가 있다면
<상의, 2> <하의, 1> <신발, 2> 가 각 해시 맵에 들어있을 것이다.
다만 '최소' 한 가지 의상이라 했으니
상의a, 상의b, 상의를 입지 않음 <- 입지 않은 경우의 수도 넣어야 한다. 따라서
(상의)3 * (하의)2 * (신발)3 - 1(아무것도 입지 않은 경우) 이 답이 되는 셈
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < clothes.length; i++) {
if (map.containsKey(clothes[i][1]))
{
int val = map.get(clothes[i][1]) + 1;
map.put(clothes[i][1], val);
}
else
map.put(clothes[i][1], 1);
}
for(String key : map.keySet()) {
answer *= map.get(key) + 1;
}
return answer - 1;
}
}
easy easy~~~
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭_JAVA (0) | 2022.02.11 |
---|---|
[프로그래머스] 프린터_JAVA (0) | 2022.02.11 |
[프로그래머스] 기능개발_JAVA (0) | 2022.02.11 |
[프로그래머스] 베스트앨범_JAVA (0) | 2022.02.11 |
[프로그래머스] 전화번호 목록_JAVA (0) | 2022.02.10 |