[문제 링크]
https://leetcode.com/problems/number-of-recent-calls/submissions/1297831
[문제 사고]
생성자 함수와 스택을 이용하여 주어진 조건에 충족하는 요소를 넣고 정답을 반환한다.
[문제 해결]
1. 생성자 함수에 정답에 해당하는 answer에 빈 배열을 할당하여 선언한다.
2. answer 배열에 t를 push하고 반복문을 돌면서 answer 배열의 첫번째 요소가 t - 3000 값보다 작은 값일 경우에 배열의 가장 앞의 요소를 제거한다.
3. 반복문을 돌고 남은 요소들이 들어있는 배열의 길이 값을 반환한다.
[작성 코드]
var RecentCounter = function() {
this.answer = [];
};
/**
* @param {number} t
* @return {number}
*/
RecentCounter.prototype.ping = function(t) {
this.answer.push(t);
while(this.answer[0] < t - 3000){
this.answer.shift();
}
return this.answer.length
};
/**
* Your RecentCounter object will be instantiated and called as such:
* var obj = new RecentCounter()
* var param_1 = obj.ping(t)
*/
[문제 회고]
많이 사용해보지 않은 생성자 함수를 갑작스레 다루어보니 당황스러웠지만 문제 자체의 난이도가 높지 않기 때문에 반복문과 스택을 이용해서 단순 구현을 하여 풀어낼 수 있었다.
'Coding Test > 항해99 - 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 36일차 TIL(6월 25일) + 자료구조 Stack,Queue (0) | 2024.06.25 |
---|---|
99클럽 코테 스터디 35일차 TIL(6월 24일) + 자료구조 Stack,Queue (0) | 2024.06.24 |
99클럽 코테 스터디 33일차 TIL(6월 22일) + 자료구조 Stack,Queue (0) | 2024.06.22 |
99클럽 코테 스터디 32일차 TIL(6월 21일) + 알고리즘 정렬(Sort) (0) | 2024.06.21 |
99클럽 코테 스터디 31일차 TIL(6월 20일) + 알고리즘 정렬(Sort) (0) | 2024.06.20 |