티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/42578
코딩테스트 연습 - 위장
programmers.co.kr
풀이법: 주어진 입력을 java 해시맵으로 <종류, 종류의 개수> 형태로 저장한다. 그 후 조합의 개수를 찾아서 반환한다.
Comment:
1) 예를 들어 하의 종류 중 청바지인지 검은 슬랙스인지 그 구체적인 내용은 아무 상관이 없다.
2) 이 문제는 사실 조합의 개수를 찾는 방법이 제일 어려운 부분이다.
공식화 한다면 대충 다음과 같다. 3종류의 의상이 주어진다 하면:
총 경우의 수 = (종류1 개수 + 1) X (종류2 개수 + 1) X (종류3 개수 + 1) - 1
+1의 의미: 예를들어 종류1의 의상이 총 4가지가 있을 경우에 그 중 1가지를 선택하는 경우의 수는 4이다. 하지만 문제 조건에서
종류1의 의상을 선택하지 않을 수도 있기 때문에 종류1에 대해선 총 5가지의 경우의 수가 나온다.
-1의 의미: 앞서 모든 종류마다 +1을 해준다고 하자. 이 중 한가지 경우의 수는 아무 의상도 선택하지 않은 경우의 수가 존재한다. 이에 경 우는 배제해야 하므로 총 경우의 수에서 -1을 해줄 필요가 있다.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
class Solution {
public int solution(String[][] clothes) {
HashMap<String, Integer> types = new HashMap<String, Integer>();
for(int i = 0; i < clothes.length; i++) {
if(types.containsKey(clothes[i][1])) {
int count = types.get(clothes[i][1]) + 1;
types.put(clothes[i][1], count);
}else {
types.put(clothes[i][1], 1);
}
}
Iterator<String> keys = types.keySet().iterator();
int answer = 1;
while(keys.hasNext()) {
String key = keys.next();
int temp = types.get(key);
answer = answer * (temp+1);
}
answer = answer - 1;
return answer;
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 스택/큐 : 기능개발 (0) | 2020.08.05 |
---|---|
[프로그래머스] 스택/큐 : 주식가격 (0) | 2020.08.05 |
[프로그래머스] 해시 : 베스트앨범 (0) | 2020.08.05 |
[프로그래머스] 해시: 전화번호 목록 (0) | 2020.03.16 |
[프로그래머스] 해시 : 완주하지 못한 선수 (0) | 2020.03.16 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Kakao Blind
- 프로그래밍 모델
- 스프링
- okhttp3
- WORA
- decorator
- behavior parameterization
- Java #JIT #JVM
- WORE
- 코테
- 카카오 코테
- 카카오코테
- 디자인패턴
- PatternSyntaxException
- KAKAO 2021
- Java
- 2019 Kakao Blind
- 카카오 인턴
- jvm
- Spring
- 2021
- 카카오
- 2020 KAKAO
- IOC
- 모던 자바 인 액션
- nginx 내부
- Java #GC #가비지콜렉터 #Garbage Collector
- zipkin
- 신규 아이디 추천
- spring cloud sleuth
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함