원하는 것은 뭐든지
99클럽 코테 스터디 6일차 TIL , 의상 본문
반응형
문제
풀이
의상의 수는 1~30개 종류 또한 마찬가지이다.
같은 이름의 의상은 존재하지 않는다.
코니는 옷을 안입더라도 안경이나 헤드기어만 착용하고도 밖으로 나갈 수 있다.
하나도 입지 않는 경우는 없지만 한 가지만 착용해도 된다.
그렇게 생각하면 옷의 이름은 사실 상관이 없고 종류 당 개수만 생각하면 경우의 수를 찾을 수 있다.
제출 1 - 정답
Map에 key를 종류로 놓고 종류당 개수를 체크한다.
각 개수마다 1을 더해서 곱해주고 아무것도 안 입을 경우 한 가지만 빼준다.
예를 들어 다음과 같은 종류의 옷이 있을 경우
모자 - 빨강비니, 파란캡, 검정 페도라 (3개)
양말 - 빨강양말, 발가락 양말 (2개)
셔츠 - 폴로셔츠, 유니클로 셔츠, 오라리 셔츠 (3개)
(모자 쓰는 경우 세 가지 + 모자 안 쓰는 경우 한 가지) * (양말 신는 경우 두 가지 + 맨발 한 가지) * (셔츠 세 가지 + 안 입는 한 가지)를 계산해서 나오는 경우의 수에서 모두 안 입는 경우 한 가지만 빼주면 된다.
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
Map<String,Integer> type = new HashMap<>();
for(int i=0;i<clothes.length;i++){
int n = type.getOrDefault(clothes[i][1], 0);
type.put(clothes[i][1],++n);
}
for(int n : type.values()){
answer *= n+1;
}
answer -= 1;
return answer;
}
}
TIL
- 문제를 파악하고 풀이 방법을 생각하고 풀이를 작성하는 중간중간 시간이 오래 걸리는 것을 확인 했다. 이 부분에 대해 고민이 필요하다. 클럽장이나 다른 사람에게 질문해봐야겠다.
- 조합 공부를 더 해야 한다.
반응형
'개발 > 문제풀이' 카테고리의 다른 글
99클럽 코테 스터디 8일차 TIL , 기능개발 (0) | 2024.07.29 |
---|---|
99클럽 코테 스터디 7일차 TIL , 하노이의 탑 (0) | 2024.07.28 |
99클럽 코테 스터디 5일차 TIL , 전화번호 목록 (0) | 2024.07.26 |
99클럽 코테 스터디 4일차 TIL , JadenCase 문자열 만들기 (0) | 2024.07.25 |
99클럽 코테 스터디 3일차 TIL , 문자열 내 마음대로 정렬하기 (4) | 2024.07.24 |
Comments