โ ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/118667
๐๏ธ ์์ด๋์ด
- 1์ฐจ ์์ด๋์ด
queue์ด๊ธฐ ๋๋ฌธ์ ๋๋ค list -> queue ํํ๋ก ๋ง๋ค์ด์ popleft() ์ฌ์ฉ
- 2์ฐจ ์์ด๋์ด
queue1, queue2๋ฅผ ์ฐ๊ฒฐํด์ ํ๋์ ๋ฆฌ์คํธ๋ก ๋ง๋ ํ ๊ทธ ์์์ ๊ท์น์ ์ฐพ๋๋ค.
-> ์์ธ ๋ด์ฉ์ผ๋ก ์ธํด ์ ๊ท์์ด ๋์ค์ง ์์.
- 3์ฐจ ์์ด๋์ด
๋ธ๋ก๊ทธ ์ฐธ๊ณ ํด์ ํฉ์ด ํฐ ํ -> ํฉ์ด ์์ ํ๋ก ์์๋ฅผ ํ๋์ฉ ์ด๋์ํค๋ ์์ด๋์ด๋ฅผ ์ป์
+ while True๋ก ์๊ฐ์ด๊ณผ ๊ฑธ๋ ค์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ 300000๋ก ์ ํ ๊ฑธ๊ฑฐ๋ ์ค๊ฐ์ count๋ฅผ ๋ฃ์ด์ํ๋ ๋ฐฉ๋ฒ์ด ์์.
๐ป ํ์ด
from collections import deque
def solution(queue1, queue2):
q1, q2 = deque(queue1), deque(queue2)
sum1, sum2 = sum(q1), sum(q2)
for i in range(300000):
if sum1 == sum2:
return i
elif sum1 > sum2:
num = q1.popleft()
q2.append(num)
sum1 -= num
sum2 += num
else:
num = q2.popleft()
q1.append(num)
sum2 -= num
sum1 += num
return -1
print(solution([3, 2, 7, 2], [4, 6, 5, 1]))
'Algorithm | Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[programmers/Lv.3] ์ธ์ฌ๊ณ ๊ณผ (0) | 2023.06.12 |
---|---|
[programmers/Lv.2] ๋ฆฌ์ฝ์ณ ๋ก๋ด (1) | 2023.06.05 |
[programmers/Lv.2] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (1) | 2023.03.10 |
[programmers/Lv.2] ํผ์์ ํ๋ ํฑํํ (1) | 2023.03.06 |
[programmers/Lv.2] [1์ฐจ] ์บ์ (0) | 2023.03.06 |