프로그래밍 문제/프로그래머스
[프로그래머스] 위장(JAVA)
테크케찰
2020. 9. 17. 03:27
programmers.co.kr/learn/courses/30/lessons/42578
코딩테스트 연습 - 위장
programmers.co.kr
import java.util.HashMap;
class Solution {
public int solution(String[][] clothes) {
HashMap<String, Integer> hashmap=new HashMap<>();
for(int i=0;i<clothes.length;i++) {
if(hashmap.containsKey(clothes[i][1])) hashmap.replace(clothes[i][1], hashmap.get(clothes[i][1])+1);
else hashmap.put(clothes[i][1], 1);
}
int answer=1;
for(int n:hashmap.values()) {
answer*=(n+1);
}
return answer-1;
}
}
이 문제는 HashMap을 이용해서 풀어보았습니다.
HashMap은 Key(키)와 Value(값)으로 이루어져있는데요, 이 문제에서는 Key가 의상의 종류, Value는 의상의 종류별 개수를 저장합니다.
전체 경우의 수는 의상의 종류별 개수들의 곱으로 이루어지므로 answer에 이를 계산해서 저장해줍니다.