-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
LRU 코드 리뷰 부탁드립니다
23.04.01 19:50 작성 23.04.01 19:50 수정 조회수 197
0
function setQueue(queue, val) {
if (queue.includes(val)) {
queue = queue
.slice(0, queue.indexOf(val))
.concat(queue.slice(queue.indexOf(val) + 1));
queue.unshift(val);
} else {
queue.pop();
queue.unshift(val);
}
return queue;
}
function solution(s, n, arr) {
let queue = new Array(s).fill(0);
for (const val of arr) {
if (queue.length === s) {
queue = setQueue(queue, val);
} else {
queue = setQueue(queue, val);
}
}
return queue.join(" ");
}
hit, miss 인 경우의 로직을 setQueue로 함수화해서 처리를 해보았는데, 혹시 틀리거나 예외케이스에서 틀릴 경우가 생길까요?
답변을 작성해보세요.
1
김태원
지식공유자2023.04.03
안녕하세요^^
반례없이 잘 짜신 코드입니다.
아래에서 코드라인이 똑 같은 것을 호출하는데 왜 굳이 if else로 구분해서 호출한 것인지 궁금하네요.
if (queue.length === s) {
queue = setQueue(queue, val);
} else {
queue = setQueue(queue, val);
}
답변 1