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 | 31 |
Tags
- typescript
- javascript
- const 단언문
- utilty type
- reactjs
- JS console
- 레이아웃쪼개기
- 제네릭
- TSDoc
- 폰트적용하기
- vue.js
- 티스토리꾸미기
- 성능최적화
- 타입좁히기
- 리액트
- 반복줄이기
- React Native
- returnType
- 커스텀
- NonNullable
- React.js
- 공통컴포넌트
- CSS
- 2022
- react
- Chart.js
- 개발콘텐츠
- 타입스크립트
- click and drag
- 누구나 자료구조와 알고리즘
Archives
- Today
- Total
몽땅뚝딱 개발자
[프로그래머스 | Javascript] Lv.2 캐시 본문
function solution(cacheSize, cities) {
const HIT = 1, MISS = 5
const cache = []
let totalTime = 0
if (cacheSize === 0) return MISS * cities.length
for (let i = 0; i < cities.length; i++) {
const searchTarget = cities[i].toLowerCase()
if (cache.includes(searchTarget)) {
// HIT: 캐시에서 찾은 경우
totalTime += HIT
cache.splice(cache.indexOf(searchTarget), 1)
} else {
// MISS: 캐시에서 찾지 못한 경우
totalTime += MISS
if (cache.length >= cacheSize) {
cache.shift()
}
}
cache.push(searchTarget)
}
return totalTime
}
'Development > 알고리즘' 카테고리의 다른 글
[프로그래머스 | Javascript] Lv.2 구명보트 (0) | 2025.01.13 |
---|---|
[프로그래머스 | Javascript] Lv.2 기능개발 (0) | 2024.12.28 |
[프로그래머스 | Javascript] Lv.1 달리기 경주 (0) | 2024.12.08 |
[프로그래머스 | Javascript] Lv.1 키패드 누르기 (1) | 2024.12.02 |
[프로그래머스 | Javascript] Lv.1 동영상 재생기 (1) | 2024.12.02 |
Comments