기록을 합시다.
[프로그래머스] 의상(python/java) 본문
문제 요약
입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ)
내가 생각한 로직
각 종류의 옷가지 수에 +1(옷 안 입은 거)들을 거듭해서 곱해주고, 마지막에 -1(다 벗은 경우의 수)을 해줘야 한다.
파이썬으로 제출한 정답
from collections import Counter
def solution(clothes):
clothes_dic = Counter([clothe[1] for clothe in clothes])
count = 1
for count_clothes in clothes_dic.values():
count = count*(count_clothes + 1)
return count-1
자바로 제출한 정답
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
int answer = 1;
HashMap<String, Integer> clotheHash = new HashMap<>();
for(String[] clothe : clothes){
if(clotheHash.containsKey(clothe[1])){
int tmp = clotheHash.get(clothe[1]);
clotheHash.put(clothe[1], tmp + 1);
}else{
clotheHash.put(clothe[1], 2);
}
}
for(String k : clotheHash.keySet()){
answer *= clotheHash.get(k);
}
answer -= 1;
return answer;
}
}
'공부 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 소수 찾기(python) (0) | 2023.06.26 |
---|---|
[프로그래머스] 네트워크(python/java) (0) | 2023.06.22 |
[프로그래머스] 기능개발(python/java) (0) | 2023.06.22 |
[프로그래머스] 전화번호 목록(python/java) (0) | 2023.06.22 |
[프로그래머스] 타겟 넘버(python/java) (0) | 2023.06.12 |
Comments