내 코드 (틀림)
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 0;
HashMap<String, Integer> map = new HashMap<>();
for(String[] s : clothes) {
map.put(s[1], map.getOrDefault(s[1], 0) + 1);
}
if(map.size() == 1) {
answer = clothes.length;
} else {
answer = clothes.length + map.size();
}
return answer;
}
}
내가 생각한 흐름은 이랬다.
1. 그냥 <의상 종류 (String) , 의상 수 (Integer)>로해서 HashMap 만듦 (7번째 줄)
2. 얘네 카운트해줌 (9-10번째 줄)
3. 만약에 map의 원소가 하나라면, 의상 종류도 하나니까 그냥 배열 clothes 길이 구하면 되겠다..
그리고 원소가 2개 이상이면, clothes 배열 길이 + map 사이즈 계산하면 되겠다..
암튼 기대 안 하고 코드 실행해봤더니 패스해서 엥? 이게 된다고? 하고 제출했더니 역시나 틀림,,,,ㅋㅋ
조합 어떻게 구해야하는거야~~하다가 다른 분 코드를 보기로 했다....🤦♀️😥
[프로그래머스] 위장 (JAVA/자바)
Programmers : 위장 - https://programmers.co.kr/learn/courses/30/lessons/42578옷 조합의 경우의 수를 나열하는 것이 아니라 <span style="color:예를 들어 상의가 2개, 하의가 3개 있
velog.io
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> map = new HashMap<>();
for(String[] s : clothes) {
map.put(s[1], map.getOrDefault(s[1], 0) + 1);
}
// 조합 갯수 계산
for(String key : map.keySet()) {
answer *= map.get(key) + 1;
}
return answer - 1;
}
}
♦ 카운트 시작 (9-11번째 줄)
: 해시에서 카운트하는 건 이제 완전히 터득 완...!
♦ 조합 갯수 계산!!! (14-16번째 줄)
: 내가 놓친 부분이 여기다.💦💦
왜 가짓수 + 1 해서 조합을 구해줘야 하냐면,
얘를 안 입는 경우의 수가 있을 수 있기 때문 !
아무튼 경우의 수를 구하는 게 아닌 조합 갯수만 계산하면 되어서 이렇게만 해주면 됌...ㅠ
♦ answer - 1;
: 아무것도 안 입는 경우의 수 제외.
(왜냐면 제한사항에 스파이는 하루에 최소 1개의 의상은 입는다고 했음)
(참고)
감사한 분들....ㅠ😭
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 2] 기능개발 (0) | 2023.02.23 |
---|---|
[프로그래머스/Lv. 3] 같은 숫자는 싫어 (1) | 2023.02.22 |
[프로그래머스/Lv. 2] 전화번호 목록 (0) | 2023.02.22 |
[프로그래머스/Lv. 1] 폰켓몬 (0) | 2023.02.22 |
[프로그래머스/Lv. 1] 완주하지 못한 선수 (0) | 2023.02.21 |