프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from collections import deque
def solution(cacheSize, cities):
answer = 0
cache = deque()
if cacheSize == 0:
return len(cities) * 5
for city in cities:
city = city.lower()
if city in cache: # cache hit
answer += 1
# 캐시 맨 뒤로 보내줌
cache.remove(city)
cache.append(city)
else: # cache miss
answer += 5
if len(cache) >= cacheSize:
cache.popleft()
cache.append(city)
return answer
도시 이름이 대소문자를 구분하지 않는다는 것과 cacheSize가 0일 수도 있다는 문제 조건만 잘 읽으면 deque를 이용하여 쉽게 풀이할 수 있는 문제였다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 JadenCase 문자열 만들기 (0) | 2022.10.10 |
---|---|
[Python/파이썬] 프로그래머스 이중우선순위큐 (0) | 2022.10.07 |
[Python/파이썬] 백준 18428번 감시 피하기 (1) | 2022.09.20 |
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |
[Python/파이썬] 백준 20040번 사이클 게임 (0) | 2022.08.30 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from collections import deque def solution(cacheSize, cities): answer = 0 cache = deque() if cacheSize == 0: return len(cities) * 5 for city in cities: city = city.lower() if city in cache: # cache hit answer += 1 # 캐시 맨 뒤로 보내줌 cache.remove(city) cache.append(city) else: # cache miss answer += 5 if len(cache) >= cacheSize: cache.popleft() cache.append(city) return answer
도시 이름이 대소문자를 구분하지 않는다는 것과 cacheSize가 0일 수도 있다는 문제 조건만 잘 읽으면 deque를 이용하여 쉽게 풀이할 수 있는 문제였다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 JadenCase 문자열 만들기 (0) | 2022.10.10 |
---|---|
[Python/파이썬] 프로그래머스 이중우선순위큐 (0) | 2022.10.07 |
[Python/파이썬] 백준 18428번 감시 피하기 (1) | 2022.09.20 |
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |
[Python/파이썬] 백준 20040번 사이클 게임 (0) | 2022.08.30 |