위장 (2) 썸네일형 리스트형 Programmers 코딩테스트 연습 위장 목록 Python 정답. 이 문제는 간단하게 조합!을 찾는 문제이다. defaultdic같은 녀석을 쓰면 더 쉽게 풀 수 있지만, 단순히 key값을 세어 dictionary로 만든 후, 결과값들을 곱하는 식으로 구현하였다. answer에 val+1 해주는 것은 1은 해당 종류 입지 않았을 때. 마지막에 -1 해주는 것은 공집합 제거해 주는 것 시간복잡도는 hashmap을 내부적으로 이용하므로 logn으로 매우매우 효율적 def solution(clothes): dic = {} answer = 1; for i in clothes: if i[1] not in list(dic.keys()): dic[i[1]] = 1 else : dic[i[1]] = 1+ dic[str(i[1])] for val in dic.values(): answ.. [Hash] 프로그래머스 코딩테스트 연습문제 Hash 3번 위장 JAVA 풀이 import java.util.HashMap; class Solution { public int solution(String[][] clothes) { HashMap map = new HashMap(); int answer = 1; for(int i = 0 ; i < clothes.length;i++) map.put(clothes[i][1],map.getOrDefault(clothes[i][1],0)+1); for (int i: map.values()) answer*=(i+1); return answer-1; //하나도 안입은 경우 제외 } } 해시맵의 특성인 1. 키는 중복 불가 2. keySet(), values() 등을 통해 배열을 구하는 매소드가 존재 함을 이용하면 매우 쉽게 풀 수 있는 문제였다.. 이전 1 다음