๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜

LRU(Least Recently Used) ์บ์‹œ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€?

by Jay Din 2024. 9. 9.
728x90
๋ฐ˜์‘ํ˜•

LRU(Least Recently Used) ์บ์‹œ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€?

LRU(Least Recently Used)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ์บ์‹œ ๊ต์ฒด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์บ์‹œ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•  ๋•Œ, ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋™์ž‘ ์›๋ฆฌ

  • ์บ์‹œ๋Š” ํ•œ์ •๋œ ํฌ๊ธฐ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ ์บ์‹œ์— ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • LRU๋Š” "๊ฐ€์žฅ ์ต๋Š์— ์‚ฌ์šฉ๋œ" ๋ฐ์ดํ„ฐ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ , ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  • ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ "๊ฐ€์žฅ ์ตœ๊ทผ์— ์‚ฌ์šฉ๋œ" ์ƒํƒœ๋กœ ๊ฐฑ์‹ ํ•˜๊ณ , ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ๋Š” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ

๋‹ค์Œ์€ LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์บ์‹œ ํฌ๊ธฐ๊ฐ€ 3์ธ ๊ฒฝ์šฐ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž…๋ ฅ ์š”์ฒญ: ["A", "B", "C", "D", "B", "A", "E", "F", "B"]

  1. "A" ์š”์ฒญ:
    • ์บ์‹œ: []
    • "A"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • "A"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [A]
  2. "B" ์š”์ฒญ:
    • ์บ์‹œ: [A]
    • "B"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • "B"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [A, B]
  3. "C" ์š”์ฒญ:
    • ์บ์‹œ: [A, B]
    • "C"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • "C"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [A, B, C]
  4. "D" ์š”์ฒญ:
    • ์บ์‹œ: [A, B, C]
    • "D"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • ์บ์‹œ๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ **LRU์— ์˜ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ "A"**๋ฅผ ์ œ๊ฑฐ.
    • "D"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [B, C, D]
  5. "B" ์š”์ฒญ:
    • ์บ์‹œ: [B, C, D]
    • "B"๋Š” ์ด๋ฏธ ์บ์‹œ์— ์žˆ์œผ๋ฏ€๋กœ ์บ์‹œ ํžˆํŠธ ๋ฐœ์ƒ.
    • "B"๋Š” ์ตœ๊ทผ์— ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฏ€๋กœ, ์บ์‹œ ๋‚ด์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์œผ๋กœ ๊ฐฑ์‹ .
    • ์บ์‹œ ์ƒํƒœ: [C, D, B]
  6. "A" ์š”์ฒญ:
    • ์บ์‹œ: [C, D, B]
    • "A"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • ์บ์‹œ๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ **LRU์— ์˜ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ "C"**๋ฅผ ์ œ๊ฑฐ.
    • "A"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [D, B, A]
  7. "E" ์š”์ฒญ:
    • ์บ์‹œ: [D, B, A]
    • "E"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • ์บ์‹œ๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ **LRU์— ์˜ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ "D"**๋ฅผ ์ œ๊ฑฐ.
    • "E"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [B, A, E]
  8. "F" ์š”์ฒญ:
    • ์บ์‹œ: [B, A, E]
    • "F"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • ์บ์‹œ๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ **LRU์— ์˜ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ "B"**๋ฅผ ์ œ๊ฑฐ.
    • "F"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [A, E, F]
  9. "B" ์š”์ฒญ:
    • ์บ์‹œ: [A, E, F]
    • "B"๊ฐ€ ์บ์‹œ์— ์—†์œผ๋ฏ€๋กœ ์บ์‹œ ๋ฏธ์Šค ๋ฐœ์ƒ.
    • ์บ์‹œ๊ฐ€ ๊ฐ€๋“ ์ฐผ์œผ๋ฏ€๋กœ **LRU์— ์˜ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ "A"**๋ฅผ ์ œ๊ฑฐ.
    • "B"๋ฅผ ์บ์‹œ์— ์ถ”๊ฐ€.
    • ์บ์‹œ ์ƒํƒœ: [E, F, B]

 

Problem Solving ์˜ˆ์ œ

https://jay-din.tistory.com/359

 

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2018 KAKAO BLIND RECRUITMENT] [1์ฐจ] ์บ์‹œ(Lv.1) - ํŒŒ์ด์ฌ(Python)

๋ฌธ์ œhttps://school.programmers.co.kr/learn/courses/30/lessons/17680 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜

jay-din.tistory.com

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•