Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- segmenation map generation
- 코딩테스트
- controlnext
- Python
- emerdiff
- segmentation map
- score distillation
- masactrl
- transformer
- dreammotion
- image editing
- Programmers
- visiontransformer
- video generation
- BOJ
- video editing
- diffusion
- 프로그래머스
- diffusion model
- 네이버 부스트캠프 ai tech 6기
- VirtualTryON
- controllable video generation
- DP
- 논문리뷰
- 3d editing
- diffusion models
- Vit
- 3d generation
- 코테
- magdiff
Archives
- Today
- Total
평범한 필기장
[Programmers_Python] 다리를 지나는 트럭 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42583
틀린 이유
나는 다리 위에 있는 트럭 무게들을 나타내는 리스트의 고정하지 않는 방식을 했다. 그러다 보니 리스트 인덱스 오류가 자주 발생했고, 그러다보니 어렵게 해결하려 한 것 같다.
정답 풀이
다른 분들이 푼 방식을 보니 다리 위 트럭 무게 리스트를 [0 for _ in range(bridge_length)] 형태의 리스트로 길이를 고정시키고 문제를 풀었다.
- 몇초가 흘렀는지 체크하기 위해 answer = 0으로 두고 다리 위 트럭 무게를 [0 for _ in range(bridge_length)]로 초기화
- 매 반복마다 answer += 1로 해주면서 시간을 체크하고 bridge의 0번째 원소를 pop
- bridge위의 무게가 weight보다 작으면 bridge에 truck_weights.pop(0)를 append
- weight보다 크면 bridge에 0을 append
- 3, 4번을 truck_weights에 원소가 있으면 수행하고 bridge에 원소가 있는 동안 계속 반복.
def solution(bridge_length, weight, truck_weights):
answer = 0
bridge = [0 for _ in range(bridge_length)]
while bridge:
answer += 1
bridge.pop(0)
if truck_weights:
if sum(bridge) + truck_weights[0] <= weight:
t = truck_weights.pop(0)
bridge.append(t)
else:
bridge.append(0)
return answer
이번 문제는 bridge의 길이를 고정해서 한다는 생각을 못해서 너무 복잡하게 풀려고 하다보니 못 푼 것 같다,,,ㅜㅜ
'코딩 테스트 준비 > Programmers' 카테고리의 다른 글
[Programmers_Python] 등굣길 (0) | 2023.06.14 |
---|---|
[Programmers_Python] 큰 수 만들기 (0) | 2023.05.08 |
[Programmers_Python] 가장 큰 수 (0) | 2023.04.27 |
[Programmers_Python] 뒤에 있는 큰 수 찾기 (0) | 2023.04.04 |
[Programmers_Python] 2개 이하로 다른 비트 (0) | 2023.04.04 |