Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 방송대
- 데이터베이스시스템
- 프로그래머스
- Cookie
- JavaScript
- 파이썬
- SQL
- node.js
- 항해99
- 방송대컴퓨터과학과
- 개발자취업
- MySQL
- 코딩테스트준비
- 파이썬프로그래밍기초
- 99클럽
- 꿀단집
- nestjs
- HTML
- aws
- redis
- presignedurl
- TiL
- 코드잇
- 중간이들
- Python
- 유노코딩
- CSS
- 엘리스sw트랙
- 코딩테스트
- Git
Archives
- Today
- Total
배꼽파지 않도록 잘 개발해요
99클럽 코테 스터디 10일차 TIL - Kth Largest Element in a Stream 본문
Kth Largest Element in a Stream
출처 : LeetCode
Design a class to find the kth largest element in a stream. Note that it is the kth largest element in the sorted order, not the kth distinct element.
Implement KthLargest class:
- KthLargest(int k, int[] nums) Initializes the object with the integer k and the stream of integers nums.
- int add(int val) Appends the integer val to the stream and returns the element representing the kth largest element in the stream.
Example 1:
- Input
["KthLargest", "add", "add", "add", "add", "add"]
[[3, [4, 5, 8, 2]], [3], [5], [10], [9], [4]] - Output
[null, 4, 5, 5, 8, 8]
Explanation
- KthLargest kthLargest = new KthLargest(3, [4, 5, 8, 2]);
- kthLargest.add(3); // return 4
- kthLargest.add(5); // return 5
- kthLargest.add(10); // return 5
- kthLargest.add(9); // return 8
- kthLargest.add(4); // return 8
Constraints:
- 1 <= k <= 104
- 0 <= nums.length <= 104
- -104 <= nums[i] <= 104
- -104 <= val <= 104
- At most 104 calls will be made to add.
- It is guaranteed that there will be at least k elements in the array when you search for the kth element.
/**
* @param {number} k
* @param {number[]} nums
*/
// 클래스 구현
var KthLargest = function(k, nums) {
// k: 3, nums: [4, 5, 8, 2]
this.k = k;
this.nums = nums.sort((a, b) => b - a);
};
/**
* @param {number} val
* @return {number}
*/
KthLargest.prototype.add = function(val) {
// nums 배열에 정수 val을 추가함.
// nums 배열에서 k번째로 큰 수를 반환함.
// 4, 5, 8, 2, 3 -(내림차순 정렬)-> 8, 5, 4, 3, 2
// 이때 3번째로 큰 요소(k번째로 큰 값)인 4를 반환함.
this.nums.push(val);
this.nums.sort((a, b) => b - a);
return this.nums[this.k - 1];
};
/**
* Your KthLargest object will be instantiated and called as such:
* var obj = new KthLargest(k, nums)
* var param_1 = obj.add(val)
*/
728x90
'코딩테스트 > 99클럽' 카테고리의 다른 글
99클럽 코테 스터디 12일차 TIL - 문자열 내림차순으로 배치하기 (0) | 2024.08.02 |
---|---|
99클럽 코테 스터디 10일차 TIL - 정수 내림차순으로 배치하기 (0) | 2024.08.02 |
99클럽 코테 스터디 9일차 TIL - Relative Ranks (0) | 2024.07.31 |
99클럽 코테 스터디 7일차 TIL - 올바른 괄호 (0) | 2024.07.29 |
99클럽 코테 스터디 6일차 TIL - 같은 숫자는 싫어 (0) | 2024.07.29 |