etc/코테준비

map 값 다 꺼내서 출력, map값 정렬

못지(Motji) 2023. 10. 10. 11:03
int answer = 0;
		
		int k = 6;
		int[] tangerine = {1, 3, 2, 5, 4, 5, 2, 3};
		
		Map<Integer, Integer> map = new HashMap<>();
		
		int j = 1;
		
		for(int i: tangerine) {
			if(map.containsKey(i)) {
				map.put(i, map.get(i)+1);
			}else {
				map.put(i, 1);
			}
		}
		
		
		for (int key : map.keySet()){
			System.out.println("key : " + key + " val : " + map.get(key));
		}
		
		List<Integer> keySetList = new ArrayList<>(map.keySet());
		System.out.println("before");
		for (int key : keySetList) {
		    System.out.println(key + ": " + map.get(key));
		}
		Collections.sort(keySetList, (o1, o2) -> (map.get(o2).compareTo(map.get(o1))));
		System.out.println("after");
		for (int key : keySetList) {
			if(k > 0) {
				k = k-map.get(key);
				answer++;
				System.out.println("k" + k);
			}
		    System.out.println(key + ": " + map.get(key));
		}
		
		
		
	        
	        System.out.println(answer);

'etc > 코테준비' 카테고리의 다른 글

배열을 List로 List를 배열로 변환  (0) 2023.12.15
Map  (0) 2023.10.19
람다식  (0) 2023.09.25