코딩테스트 풀이/JAVA
[LeetCode/Medium] 229. Majority Element II
무지맘
2023. 1. 23. 23:42
1. Input
1) int[] nums
2. Output
1) nums의 요소 중 그 개수가 nums의 길이 나누기 3의 몫보다 많은 요소를 담은 List
3. Constraint
1) 1 <= nums.length <= 5 * 10^4
2) - 10^9 <= nums[i] <= 10^9
4. Example
Input: nums = [3,2,3] -> Output: [3]
Input: nums = [1,2] -> Output: [1,2]
5. Code
1) 첫 코드(2023/01/23)
import java.util.*;
List<Integer> answer = new ArrayList<Integer>();
HashMap<Integer,Integer> m = new HashMap<Integer,Integer>();
for(int i : nums){
if(m.containsKey(i)) m.replace(i, m.get(i)+1);
else m.put(i,1);
}
Iterator it = m.entrySet().iterator();
while(it.hasNext()){
Map.Entry e= (Map.Entry)it.next();
if((int)e.getValue()>nums.length/3) answer.add((int)e.getKey());
}
return answer;
- 메모리 사용량은 아주 적은 편이었지만, 실행시간이 다소 긴 편이었다.