Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 헤이로라
- 대충 만든 자판
- Spring
- jvm
- 크레인인형뽑기게임
- 6236
- 병합정렬
- 1032
- Spring Security
- Baekjoon
- java
- 추억점수
- getOrDefault
- vue3
- swagger3
- call by value
- 스웨거
- 2178
- 프로그래머스
- IoC container
- 2751
- springboot
- vue-cli
- Di
- 자바
- 수들의 합
- springdoc
- docker
- 백준
- 용돈관리
Archives
- Today
- Total
개발쿠키
[프로그래머스]의상(java) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 요구사항 요약
주요하게 봐야 할 것은 부위 1개만 입어도 가능하다와 옷을 하나도 입지 않는 경우는 없다라는 사항이며 결과값을 간단히 말하면 옷 종류의 조합 수를 구하면 된다. 입출력 예시를 통해 알아보자
[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] | 5 |
[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]] | 3 |
첫번째 데이터를 보면 headgear - yellow_hat,green_turban / eyewear - blue_sunglasses 형태이다.
하지만 여기서 우리는 무엇을 입었는지가 아니라 그저 조합의 수만 알면 그만이다.
따라서 headgear - 2 / eyewear - 1 로 정리를 한 후 각각 안 쓴 경우까지 추가 해주면 headgear - 3 / eyewear - 2 가 된다
아래 표로 보면 더 이해가 쉽다.
headgear | 아무것도 안입음, yellow_hat, green_turban |
eyewear | 아무것도 안입음, blue_sunglasses |
모든 조합이 수는 3*2를 하여 총 6가지가 나오지만 해당 경우에서 headgear와 eyewear를 안쓴 경우 즉 아무것도 입지 않은 경우를 빼 총 5가지가 나온다.
코드를 아래와 같이 구현할 수 있다.
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> clothesMap = new HashMap<>();
//옷 종류 별로 분류 후 총 개수 지정
//getOrDefault에서 없는 경우 1을 return 이유는 해당 종류를 입지 않은 경우 추가
for (String[] c : clothes) {
clothesMap.put(c[1], clothesMap.getOrDefault(c[1], 1) + 1);
}
//모든 조합의 수
for (String k : clothesMap.keySet()) {
answer *= clothesMap.get(k);
}
//모든 종류의 옷을 입지 않은 경우 제외
return answer - 1;
}
'개발 > baekjoon&programmers' 카테고리의 다른 글
[프로그래머스]크레인 인형뽑기 게임(java) (0) | 2023.06.29 |
---|---|
[백준]괄호(java) (0) | 2023.06.29 |
[프로그래머스]추억 점수(java) (0) | 2023.06.28 |
[프로그래머스]포켓몬(java) (0) | 2023.06.28 |
[백준]1032번(java) (0) | 2023.06.27 |