반응형
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 |
Tags
- dfs
- 레벨 1
- HTTP 완벽 가이드
- socket
- dp
- javascript
- 자바스크립트
- 가천대
- 소켓
- 프로그래머스
- 크롤링
- 문자열
- Node.js
- 프로그래머스 레벨 2
- BFS
- Nestjs
- Crawling
- 백준
- TCP
- ip
- 그래프
- 알고리즘
- HTTP
- 타입 챌린지
- type challenge
- Algorithm
- 수학
- typescript
- 쉬운 문제
- 타입스크립트
Archives
- Today
- Total
kakasoo
[node.js] 캐시 ( 프로그래머스 레벨2 ) 본문
반응형
// 프로그래머스 레벨2 캐시를 풀었습니다.
// 아예 LRU에 대한 개념이 없어서, (hit, miss 개념은 안다. )
// 곤란하게 한 문제다.
const solution = (cacheSize, cities) => {
if (cacheSize === 0) return cities.length * 5;
const cache = [];
let answer = 0;
for (let i = 0; i < cities.length; i++) {
const city = cities[i].toUpperCase();
if (cache.includes(city)) {
answer += 1;
cache.splice(cache.indexOf(city), 1);
cache.push(city);
} else {
answer += 5;
if (cache.length === cacheSize) {
cache.shift();
}
cache.push(city);
}
}
return answer;
};
cache에 관한 내용은 HTTP를 공부할 때 한 번 씩 봤었지만, LRU 같은 개념은 본 적이 없어서 검색해야 했다.
적중률을 높이는 게 캐시의 핵심이던가.
문제 자체는 레벨2 라고 할 정도는 아닌데, 만약 이게 카카오 시험 중에 나왔다면 곤란했을 거 같다.
대강적인 느낌?으로 찍어야 하는 상황이니... 참 답답하다 이런 부분은.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[node.js] 리모컨 ( 백준 1107번 ) (0) | 2021.07.29 |
---|---|
[node.js] n진수 게임 ( 프로그래머스 레벨2 ) (0) | 2021.07.07 |
[node.js] 점프와 순간 이동 ( 프로그래머스 레벨2 ) (0) | 2021.07.05 |
[node.js] 가장 먼 노드 ( 프로그래머스 레벨3 ) (0) | 2021.07.02 |
[node.js] 방문 길이 ( 프로그래머스 레벨2 ) (0) | 2021.07.02 |