HashMap을 사용해서 category별로 몇 개가 있는지를 저장해주었다.
솔직히 여기까지는 괜찮은데 식을 어떻게 세워야할지가 문제였다..
이건 분명 식을 세워야하는데 바로 떠오르지 않았다..
식은
카테고리별 옷의 개수+1 을 해서 다 곱해주고 마지막에 -1을 하는 것인데
예를 들면
상의가 파랑.빨강이 있고
하의가 보라, 초록이 있다고 하자
상의는 -> 안입을 경우, 파랑, 빨강으로 3가지다.
하의는 -> 안입을 경우, 보라, 초록으로 3가지다.
그래서 3 x 3을 해주고, 둘다 안입을 경우는 없으니까 1을 빼준다.
그럼 완성
import java.util.HashMap;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String,Integer> map = new HashMap<String,Integer>();
for(int i=0;i<clothes.length;i++){
if(map.containsKey(clothes[i][1])){
map.replace(clothes[i][1], map.get(clothes[i][1])+1);
}
else{
map.put(clothes[i][1],1);
}
}
for(int value: map.values()){
answer*=(value+1);
}
answer-=1;
return answer;
}
}
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 - 정수삼각형/ 동적계획법/ dp/ 자바/JAVA (4) | 2020.10.30 |
---|---|
백준 - 일곱난쟁이 자바 JAVA (0) | 2020.10.23 |
프로그래머스 - 정렬 가장큰수 / java (0) | 2020.10.23 |
프로그래머스 - 카펫 /완전탐색/ JAVA 자바 (0) | 2020.10.21 |
프로그래머스 - 여행경로/DFS/BFS JAVA 자바 (0) | 2020.10.20 |