프로그래머스 LV.2 위장
1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42578
2. 문제 해결에 대한 아이디어
1. 간단하게 얼굴, 상의, 하의, 겉옷을 입는 경우의 수를 구하는 문제이다.
2. 이를 위해, HashMap<String, Integer> hm에 key : 옷의 종류, value : 옷의 수 를 저장했다.
3. 그리고 hm에서 하나씩 꺼내면서 아예 안 입는 경우를 포함한 value + 1을 answer에 곱해줬다.
4. 마지막으로 어떤 옷도 안 입는 경우가 포함되어 있으므로 --answer를 해준다.
3. 코드
import java.util.HashMap;
public class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> hm = new HashMap<>();
for (int i = 0; i < clothes.length; i++) {
hm.put(clothes[i][1], hm.getOrDefault(clothes[i][1], 0) + 1);
}
for (String key : hm.keySet()) {
answer *= hm.get(key) + 1;
}
--answer;
return answer;
}
}
4. 채점 결과
5. 느낀 점
1. 경우의 수를 구하는 문제로 쉬운 편이었다.
'알고리즘 > 프로그래머스 LV.2' 카테고리의 다른 글
프로그래머스 LV.2 전화번호 목록 (0) | 2022.01.13 |
---|---|
프로그래머스 LV.2 오픈채팅방 (0) | 2022.01.12 |
프로그래머스 LV.2 카카오프렌즈 컬러링북 (1) | 2022.01.11 |
프로그래머스 LV.2 게임 맵 최단거리 (0) | 2022.01.10 |
프로그래머스 LV.2 프린터 (0) | 2021.09.23 |
댓글