class Solution {
public int solution(String[][] clothes) {
int answer = 0;
return answer;
}
}테스트 1 〉 통과 (0.09ms, 53MB)
테스트 2 〉 통과 (0.09ms, 53MB)
테스트 3 〉 통과 (0.06ms, 52.2MB)
테스트 4 〉 통과 (0.08ms, 53.3MB)
테스트 5 〉 통과 (0.06ms, 51.9MB)
테스트 6 〉 통과 (0.07ms, 52.7MB)
테스트 7 〉 통과 (0.10ms, 53.3MB)
테스트 8 〉 통과 (0.09ms, 53MB)
테스트 9 〉 통과 (0.05ms, 52.4MB)
테스트 10 〉 통과 (0.07ms, 52.4MB)
테스트 11 〉 통과 (0.07ms, 52MB)
테스트 12 〉 통과 (0.07ms, 52.6MB)
테스트 13 〉 통과 (0.10ms, 53.3MB)
테스트 14 〉 통과 (0.07ms, 53.3MB)
테스트 15 〉 통과 (0.06ms, 53.8MB)
테스트 16 〉 통과 (0.05ms, 52.9MB)
테스트 17 〉 통과 (0.09ms, 52.9MB)
테스트 18 〉 통과 (0.06ms, 52.6MB)
테스트 19 〉 통과 (0.06ms, 52.5MB)
테스트 20 〉 통과 (0.06ms, 52.6MB)
테스트 21 〉 통과 (0.06ms, 54.4MB)
테스트 22 〉 통과 (0.06ms, 52.3MB)
테스트 23 〉 통과 (0.06ms, 52.4MB)
테스트 24 〉 통과 (0.06ms, 53.3MB)
테스트 25 〉 통과 (0.07ms, 53.5MB)
테스트 26 〉 통과 (0.09ms, 52.5MB)
테스트 27 〉 통과 (0.09ms, 52.3MB)
테스트 28 〉 통과 (0.07ms, 52MB)풀이
@Test
void 위장() {
Assert.assertEquals(5, 위장Solution(new String[][]{{"yellowhat", "headgear"}, {"bluesunglasses", "eyewear"}, {"green_turban", "headgear"}}));
Assert.assertEquals(3, 위장Solution(new String[][]{{"crowmask", "face"}, {"bluesunglasses", "face"}, {"smoky_makeup", "face"}}));
}
int 위장Solution(String[][] clothes) {
Map<String, Integer> clothesTypes = new HashMap<>();
for(String[] clothe : clothes) {
String type = clothe[1];
if(clothesTypes.containsKey(type)) {
clothesTypes.put(type, clothesTypes.get(type)+1);
} else {
clothesTypes.put(type, 1);
}
}
int caseOfClothes = 1;
for (Map.Entry<String, Integer> entry : clothesTypes.entrySet()) {
caseOfClothes *= (entry.getValue() + 1);
}
return caseOfClothes-1;
}return Arrays.stream(clothes)
.collect(groupingBy(p -> p[1], mapping(p -> p[0], counting())))
.values()
.stream()
.collect(reducing(1L, (x, y) -> x * (y + 1))).intValue() - 1;