01-31 00:40
Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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
Archives
관리 메뉴

기록을 합시다.

[프로그래머스] 의상(python/java) 본문

공부/알고리즘

[프로그래머스] 의상(python/java)

울집고양이세마리 2023. 6. 26. 11:13

문제 요약

입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ)

내가 생각한 로직

각 종류의 옷가지 수에 +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;
    }
}

 

 

Comments