본문 바로가기
자료구조 & 알고리즘/문제풀이

위장 - 프로그래머스 (Java, Level 2)

by 넬준 2022. 2. 8.

 

package programmers;

import java.util.HashMap;
import java.util.Iterator;

public class 위장 {

	public int solution(String[][] clothes) {
        int answer = 1;
        
        HashMap<String, Integer> hashMap = new HashMap<>();
        
        for(int i=0; i<clothes.length; i++) {
        	hashMap.put(clothes[i][1], hashMap.getOrDefault(clothes[i][1], 0)+1);
        }//의상의 종류를 value, 해당 종류의 갯수를 key로 저장
        
//      Set<String> keySet = hashMap.keySet();
//      Iterator<String> keyIterator = keySet.iterator();
        //Value iterator
        Iterator<Integer> iterator = hashMap.values().iterator();
        
        //intValue() vs parseInt()
        while(iterator.hasNext()) {
        	answer *=  iterator.next().intValue()+1;
        }//while() end
        
        //모든 옷의 종류에 대해서 입지 않는 경우를 포함하여 곱한 다음에
        //모든 옷을 입지 않은 경우를 빼주면 전체 경우의 수가 나온다.
        
        return answer-1;
    }
	
}

 

**

Integer.parseInt() vs integer.intValue()

Stream 이용한 풀이

 

 

댓글