728x90
๋ฐ์ํ
"""
์ง๋๊ฐ๋ฐํ์์ ๊ทผ๋ฌดํ๋ ์ ์ด์ง๋ ์ง๋์์ ๋์ ์ด๋ฆ์ ๊ฒ์ํ๋ฉด
ํด๋น ๋์์ ๊ด๋ จ๋ ๋ง์ง ๊ฒ์๋ฌผ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฝ์ด ๋ณด์ฌ์ฃผ๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค.
์ด ํ๋ก๊ทธ๋จ์ ํ
์คํ
์
๋ฌด๋ฅผ ๋ด๋นํ๊ณ ์๋ ์ดํผ์น๋ ์๋น์ค๋ฅผ
์คํํ๊ธฐ ์ ๊ฐ ๋ก์ง์ ๋ํ ์ฑ๋ฅ ์ธก์ ์ ์ํํ์๋๋ฐ,
์ ์ด์ง๊ฐ ์์ฑํ ๋ถ๋ถ ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ์คํ์๊ฐ์ด
๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
์ดํผ์น๋ ์ ์ด์ง์๊ฒ ํด๋น ๋ก์ง์ ๊ฐ์ ํ๋ผ๊ณ ๋ฆ๋ฌํ๊ธฐ ์์ํ์๊ณ ,
์ ์ด์ง๋ DB ์บ์๋ฅผ ์ ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ ์ ์๋ํ๊ณ ์์ง๋ง
์บ์ ํฌ๊ธฐ๋ฅผ ์ผ๋ง๋ก ํด์ผ ํจ์จ์ ์ธ์ง ๋ชฐ๋ผ ๋๊ฐํ ์ํฉ์ด๋ค.
์ดํผ์น์๊ฒ ์๋ฌ๋ฆฌ๋ ์ ์ด์ง๋ฅผ ๋์, DB ์บ์๋ฅผ ์ ์ฉํ ๋
์บ์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ์คํ์๊ฐ ์ธก์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
"""
def solution(cacheSize, cities):
answer = 0
cache = []
for city in cities:
city = city.lower()
if city in cache[:cacheSize]:
answer += 1
cache.remove(city)
else:
answer += 5
cache.insert(0, city)
return answer
"""
๋จผ์ ์บ์๋ฅผ ๋ด์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์๋ค.
cities์์ city๋ฅผ ํ๋์ฉ ๊ฐ์ง๊ณ ์์ city๋ฅผ ์ ๋ถ ์๋ฌธ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์บ์์์ ์บ์์ฌ์ด์ฆ๋งํผ ์๋ผ์ ๊ทธ์์ city๊ฐ ์๋ค๋ฉด
์บ์๋น์ฉ 1์ ๋ํด์ฃผ์๊ณ city๋ฅผ ์บ์์์ ์ง์์ฃผ์๋ค.
์ด์ ๋ LRU์ด๊ธฐ ๋๋ฌธ์ city๋ฅผ ์ฐพ์์ผ๋ฉด city๊ฐ ์ ์ผ ์์ผ๋ก ์์ผํ๋ค.
city๊ฐ ์บ์์ฌ์ด์ฆ ์ ์ผ ๋ค์ ์๋ค๋ฉด ์์ ๋ฃ์ด์ ๋ฐ์ด๋ฒ๋ฆฌ๋ฉด ๋์ง๋ง
์ค๊ฐ์ ์๋ ๊ฒฝ์ฐ๋ ์ง์์ฃผ์ง ์๋๋ค๋ฉด city๊ฐ 2๊ฐ๊ฐ ๋์ ๋ค๋ฅธ ๊ฐ์ด ๋ฐ๋ฆฐ๋ค.
ex) japan -> [korea, japan, india] // [japan, korea, india]
๊ทธ๋ฆฌ๊ณ if๋ฌธ ๋ฐ์์ city๋ฅผ ๋ฃ์ด์ฃผ๋ ์ด์ ๋ ์บ์์ฌ์ด์ฆ์์ city๊ฐ
์์ผ๋ ์์ผ๋ city๋ฅผ ์บ์ ์ ์ผ ์์ ๋ฃ์ด์ฃผ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์บ์์ฌ์ด์ฆ์์ city๊ฐ ์๋ค๋ฉด ์บ์๋น์ฉ 5๋ฅผ ๋ํด์ฃผ์๋ค.
"""
728x90
๋ฐ์ํ
๋๊ธ