ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๐ 2018 KAKAO BLIND RECRUITMENT [1์ฐจ]
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/17680
์ฝ๋ฉํ ์คํธ ์ฐ์ต - [1์ฐจ] ์บ์
3 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju", "Pangyo", "Seoul", "NewYork", "LA"] 50 3 ["Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul"] 21 2 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco", "Seoul", "Ro
programmers.co.kr
thinking
LRU(Least Recently Used) ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉํด์ ํ์๊ณ , ์บ์ ์ฌ์ด์ฆ๊ฐ 0์ผ ๋๋ ์ฐจํผ ํ์ธ ๋ถ๊ฐ๋ฅ์ด๋ฏ๋ก ๊ฑ *5 ํด์คฌ๋ค.
์ฝ๋
def solution(cacheSize, cities):
answer = 0
cache = []
if cacheSize == 0:
answer = len(cities) * 5
else:
for city in cities: # ์ํฐ ์ํํ๋ฉด์
city = city.lower() # ์ ๋ถ ์๋ฌธ์๋ก ๋ฐ๊ฟ์ ๊ณ์ฐ
if city not in cache: # ์บ์์ ์์ผ๋ฉด์ (cache miss)
if len(cache) < cacheSize: # ์บ์์ฌ์ด์ฆ๋ณด๋ค ์์ผ๋ฉด ๋ ๋ค์ด๊ฐ ์ ์์ผ๋ฏ๋ก ๋ฃ์
cache.append(city)
else: # ์บ์์ฌ์ด์ฆ๋ ๊ฐ์ผ๋ฉด ๊ฐ์ฅ ์ค๋์ ์ฐธ์กฐํ ๊ฐ ๋นผ๊ณ ํ์ฌ๊ฐ ๋ฃ์ด์ค
cache.pop(0)
cache.append(city)
answer += 5
else: # ์บ์์ ์๋ ๊ฒฝ์ฐ (cache hit)
cache.pop(cache.index(city)) # ํด๋น ๊ฐ์ ๊ฐ์ฅ ์ต์ ์์น์ ๋ฃ์ด์ค
cache.append(city)
answer += 1
return answer
'algorithm > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด ๋๋ง์๊ธฐ / python ํ์ด์ฌ (0) | 2021.09.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฐ๋ฌ / python ํ์ด์ฌ (1) | 2021.09.21 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ์ง๊ตญ ์ค์น / python ํ์ด์ฌ (0) | 2021.08.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๊ฒ์ / python ํ์ด์ฌ (0) | 2021.08.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ ๋ฒ์ค / python ํ์ด์ฌ / 2018 ์นด์นด์ค ๊ณต์ฑ 1์ฐจ ์ฝํ (0) | 2021.08.08 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
TAG
- ๊ธฐ์ง๊ตญ์ค์น
- ๋ธ๋ฃจํธํฌ์ค
- ํ์ด์ฌ
- 2018 ์นด์นด์ค ๊ณต์ฑ
- 2579 ๊ณ๋จ์ค๋ฅด๊ธฐ
- ๋ณด์์ผํ
- 20057 ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋
- ์๊ณ ๋ฆฌ์ฆ
- dp
- ๋ฐฑ์ค
- BFS
- 21609 ์์ด ์คํ๊ต
- swea
- git ๋ฏธ๋ฌ๋ง
- react
- merge ์๋ฌ
- dfs
- ์ผ์ฑ๊ธฐ์ถ
- 20056 ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ
- ์ผ์ฑ์ฝํ
- merge์๋ฌ
- 17406 ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4
- Python
- ํ๋ก๊ทธ๋๋จธ์ค
- ์์ด๋๋ง์๊ธฐ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
- Total
- Today
- Yesterday
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ