๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[Programmers] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํจ
๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด๊ธฐ
๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉฐ, ๋ค๋ฆฌ๋ weight ์ดํ๊น์ง์ ๋ฌด๊ฒ๋ฅผ ๊ฒฌ๋ค
๋ค๋ฆฌ์ ์์ ํ ์ค๋ฅด์ง ์์ ํธ๋ญ์ ๋ฌด๊ฒ๋ ๋ฌด์
๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ ์ bridge_length, ๋ค๋ฆฌ๊ฐ ๊ฒฌ๋ ์ ์๋ ๋ฌด๊ฒ weight, ํธ๋ญ ๋ณ ๋ฌด๊ฒ truck_weights
๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง return ํ๋๋ก solution ํจ์
def solution(bridge_length, weight, truck_weights):
time = 0
# # ํธ๋ญ ๋ฌด๊ฒ
# truck = list(truck_weights)
# ๋ค๋ฆฌ ํธ๋ญ ์
bridge = [0] * bridge_length
# ๋ค๋ฆฌ ์์ ์ด ํธ๋ญ ๋ฌด๊ฒ
temp = 0
while (bridge):
time += 1
temp -= bridge.pop(0)
if truck_weights:
# ํธ๋ญ ๋ฌด๊ฒ๊ฐ ๋ค๋ฆฌ ๋ฒํฐ๋ ๋ฌด๊ฒ๋ณด๋ค ์์ ๋ (์ฌ์ )
if ( temp + truck_weights[0] ) <= weight:
temp += truck_weights[0]
bridge.append(truck_weights.pop(0))
else:
bridge.append(0) # ์ฌ์ ์์ผ๋ฉด ๋ฌด๊ฒ 0 ์ถ๊ฐ
return time
728x90
๋ฐ์ํ
'๐ฆฅ ์ฝํ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2023.05.05 |
---|---|
[Programmers] ์ฃผ์๊ฐ๊ฒฉ (1) | 2023.04.15 |
[Programmers] ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (0) | 2023.04.14 |
[Programmers] ๊ณต์ ์ฐ์ฑ (0) | 2023.04.14 |
[Programmers] ๊ณผ์ ์งํํ๊ธฐ (0) | 2023.04.14 |
Comments