2022년 2월 21일 월요일 - 아니 왜 벌써 월요일?
오늘 올려볼 문제는 169번 Majority Element 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
1분컷 해버리기
입력
사진에서도 볼 수 있듯이 int 배열 하나가 입력으로 들어온다.
풀이 및 코드
주어진 배열의 원소 중 빈도수가 배열 총 원소들 개수의 절반 이상인 원소를 찾아서 리턴하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
해쉬맵에 개수를 넣고 개수가 절반 이상이 되면 리턴하는 식으로 구현했다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int majorityElement(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
int size = nums.length / 2 + (nums.length % 2 == 0 ? 0 : 1);
for(int num : nums)
{
if(!map.containsKey(num))
map.put(num, 0);
map.put(num, map.get(num) + 1);
if(map.get(num) >= size)
return num;
}
return 0;
}
}
제출 화면
오늘은 문제가 너무 쉬워서 빨리 풀었다.
적당히 어려우면서 재밌는 문제가 나오길 바란다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 133번 문제를 풀어보았다. (ft. java) (1) | 2022.02.23 |
---|---|
[LeetCode] 171번 문제를 풀어보았다. (ft. java) (0) | 2022.02.22 |
[LeetCode] 1288번 문제를 풀어보았다. (ft. java) (0) | 2022.02.20 |
[LeetCode] 343번 문제를 풀어보았다. (ft. java) (0) | 2022.02.19 |
[LeetCode] 39번 문제를 풀어보았다. (ft. java) (0) | 2022.02.17 |