😎간단한 문제입니다.
배열이 주어지고 그 배열에서 가장 많이 등장하는 값을 반환하면 되는 조건입니다.
키밸류쌍 자료구조를 통해 가장 등장횟수가 많은 키를 반환해주면 쉽게 풀 수 있겠네요
😎풀이 방법
var majorityElement = function(nums) {
let map = new Map()
let [answer,max] = [0,0]
for(i=0 ; i<nums.length ;i++) {
map.set( nums[i] , (map.get(nums[i]) || 0) + 1 )
if(map.get(nums[i]) > max) {
answer = nums[i]
max = Math.max(map.get(nums[i]) , max)
}
}
return answer
};
map 자료구조에 등장횟수를 담아주고
만약 map에 담긴 nums[i]키의 밸류가 max 변수의 값보다 크다면
max 변수의 값과 answer를 업데이트해주면서 순회를 돌면
한번의 반복으로 요구사항을 다 충족시킬 수 있습니다.
반응형
'leetcode' 카테고리의 다른 글
260. Single Number III (0) | 2023.04.20 |
---|---|
1302. Deepest Leaves Sum (0) | 2023.04.19 |
2341. Maximum Number of Pairs in Array (1) | 2023.02.03 |
2442. Count Number of Distinct Integers After Reverse Operations Javascript (0) | 2023.01.21 |
2491. Divide Players Into Teams of Equal Skill Javascript (0) | 2023.01.21 |