프로그래머스 42578 의상 JAVA

sundays·2023년 6월 2일
0

문제

의상

풀이

문자열 조합 문제입니다. 이 문제는 조합의 특성을 잘 알고 풀면 금방 풀 수 있는 문제 입니다.

  1. 용도별로 가지고 있는 의상이 몇개 존재하는 지 확인합니다
HashMap<String, Integer> hm = new HashMap<>();

// 의상이 등장할때마다 카운트를 늘려주면서 벌 수를 증가 시켜 줍니다.
for (int i = 0; i < clothes.length; i++) {
	String type = clothes[i][1];
    hm.put(type, hm.getOrDefault(type, 0) + 1);
}
  1. 의상 별 조합을 계산해줍니다
Iterator<Integer> iter = hm.values().iterator();

// 현재 의상에서 조합의 개수가 될 수 있는 것을 곱해줍니다.
// 현재 의상의 개수에 +1 을 해주어서 해당옷의 종류를 입지 않는 종류까지 더해주는 것입니다.
while (iter.hasNext()) {
	answer *= iter.next().intValue() + 1;
}

// 초기화할때 사용해주었던 1을 빼주는 것입니다.
return answer - 1;

전체 코드

전체 코드

profile
develop life

0개의 댓글