아직 잘 모르겠는 문제, 외우고 쳐보는 것도 잘 안된다.
참고한 후, 답안
from collections import deque
def solution(queue1, queue2):
answer = 0
mid = sum(queue1) + sum(queue2)
if mid % 2 != 0:
return -1
tot //= 2
q1 = deque(queue1)
q2 = deque(queue2)
sum1 = sum(queue1)
sum2 = sum(queue2)
while q1 and q2:
if sum1 > mid:
tmp = q1.popleft()
sum1 -= tmp
sum2 += tmp
elif sum1 < mid:
tmp = q2.popleft()
q1.append(tmp)
sum1 += tmp
sum2 -= tmp
else:
return answer
answer += 1 # 횟수 ++
return -1
deque
- 생성 : deque() 또는 deque(리스트형)
- 주요 메서드 : append(), popleft()
- 길이 지정 파라미터 : deque(maxlen=사이즈)
from collections import deque
cities = deque()
deque.append(1)
deque.popleft() # 왼쪽 끝값 반환 후 제거
countries = deque([1,2,3,4])
countries.appendleft(0) # 왼쪽 끝값 추가
# deque(0, 1, 2, 3, 4)
def solution(cacheSize, cities):
import collections
cache = collections.deque(maxlen=cacheSize)
time = 0
for i in cities:
s = i.lower()
if s in cache:
cache.remove(s)
cache.append(s)
time += 1
else:
cache.append(s)
time += 5
return time
'⚡️algorithm > accepted' 카테고리의 다른 글
[BFS, 그래프] 프로그래머스 lv3. 블록이동하기 (0) | 2022.11.02 |
---|---|
[플로이드 와샬] 백준 11404. 플로이드 (기본) (1) | 2022.10.19 |
[BFS, 파이썬] 2146. 다리만들기 (!!) (0) | 2022.10.03 |
[combinations, Counter, 빈도] 프로그래머스 lv2. 메뉴리뉴얼 (0) | 2022.09.10 |
[DFS, 기본] 백준 2667. 단지번호 붙이기 (0) | 2022.04.26 |