250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(Leet Code JS)Third Maximum Number 본문
728x90
반응형
https://leetcode.com/problems/third-maximum-number/
map을 활용.
nums에는 중복된 수가 있을 수 있기 때문에,
중복을 제거하기 위해 map을 선언한다.
그리고 nums를 순회하면서 map에 nums[i]에 해당하는 수가 없으면 nums[i]를 key로 하여 value를 true로 해준다.
순회가 끝나면 다음은 map을 순회한다.
for of 문으로 key와 value에 접근할 수 있다.
arr에 key를 넣어준 후, 내림차순으로 정렬한다.
리턴은 arr.length를 확인하여 3보다 작으면 가장 큰 값(arr[0])을, 3 이상이라면 2번 인덱스에 해당하는 수를 리턴한다.
var thirdMax = function(nums) {
const map = new Map();
const arr = [];
for(let i = 0; i < nums.length; i++){
if(!map.get(nums[i])){
map.set(nums[i], true);
}
}
for(const [k, _] of map){
arr.push(k);
}
arr.sort((a, b) => b - a);
return arr.length < 3 ? arr[0] : arr[2];
};
728x90
반응형
'Leet Code 알고리즘' 카테고리의 다른 글
(Leet Code JS)Arranging Coins (0) | 2022.05.13 |
---|---|
(Leet Code JS)Add Strings (0) | 2022.05.13 |
(Leet Code JS)Longest Consecutive Sequence (0) | 2022.05.09 |
(Leet Code JS)Flatten a Multilevel Doubled Linked List (0) | 2022.04.12 |
(Leet Code JS)Merge Nodes In Between Zeros (0) | 2022.04.11 |