반응형
728x90
반응형
문제
https://leetcode.com/problems/majority-element/
풀이코드
package SITE03_leetcode.easy;
import SITE03_leetcode.medium.M004_leetCode4_median_of_two_sorted_arrays;
import java.util.*;
import java.util.stream.Collectors;
/**
* https://leetcode.com/problems/majority-element/
*/
public class E001_leetCode165_Majority_element {
public static void main(String[] args) {
E001_leetCode165_Majority_element solution = new E001_leetCode165_Majority_element();
int[] a = new int[]{3, 2, 3};
System.out.println(solution.majorityElement(a));
}
public int majorityElement(int[] nums) {
int target = nums.length / 2;
Map<Integer, Integer> map = new HashMap<>();
for (int key : nums) {
if (map.containsKey(key)) {
map.put(key, map.get(key) + 1);
} else {
map.put(key, 1);
}
}
Set<Integer> set = map.entrySet().stream()
// key 에 해당하는 value 중 target 보다 큰 것으로 필터링
.filter(key -> key.getValue() > target)
// 필터링 된 Entry 의 key 추출
.map(Map.Entry::getKey)
// Set 으로 변경 (중복제거)
.collect(Collectors.toSet());
// 최대값 추출
return set.stream().max(Integer::compareTo).get();
}
}
Map 에 담고, 스트림을 활용하여 풀이해보았다.
반응형
'Algorithm > Problem Solving' 카테고리의 다른 글
[leetcode] Medium-46번. Permutations 문제풀이 (0) | 2021.11.13 |
---|---|
[leetcode] Medium-39번. Combination Sum 문제풀이 (0) | 2021.11.12 |
[leetcode] Medium-19번. Remove Nth Node From End of List 문제풀이 (0) | 2021.11.09 |
[leetcode] Medium-18번. 4Sum 문제풀이 (0) | 2021.11.06 |
[leetcode] Medium-17번. letter-combinations-of-a-phone-number 문제풀이 (0) | 2021.11.03 |