티스토리 뷰
1. 문제
2. 소스코드 ( Python3 )
def solution(bridge_length, weight, truck_weights): answer = 0 start = 0 # 다음에 건널 트럭 번호 finish = 0 # 다음에 다 건널 트럭 번호 on_bridge = 0 # 다리 위 트럭 무게 time = [] # 트럭이 다리 건너기 시작한 시각 time_now = 0 # 현재 시각 # 1초 후 time_now += 1 on_bridge = truck_weights[start] start += 1 time.append(time_now) # 반복 while finish != len(truck_weights): # 시간 경과 time_now += 1 # 다 건넌 트럭 OUT if time_now - time[finish] == bridge_length: on_bridge -= truck_weights[finish] finish += 1 # 새로 건널 트럭 IN if (start < len(truck_weights)) and (on_bridge + truck_weights[start] <= weight): on_bridge += truck_weights[start] start += 1 time.append(time_now) answer = time_now #print(answer) return answer |
3. 고찰
1) index를 이용하여 다리 건너는지 체크
저번에 다른 사람 코드에서 봤는데, 직접 벡터에 넣었다 뺐다 할 필요없이, index만으로도 체크가 가능해서 이 방식으로 구현하였다.
2) 논리연산자
C++에서는 &&연산자를 python에서는 and로 쓴다.
3) (start < len(truck_weights)) 조건
위 조건을 안 쓰면 인덱스 오류가 떠서 추가해주었다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래머스_더 맵게 (0) | 2020.10.03 |
---|---|
프로그래머스_프린터 (0) | 2020.10.01 |
프로그래머스_주식가격 (0) | 2020.09.28 |
프로그래머스_코딩테스트연습_124나라의 숫자 (0) | 2020.09.24 |
백준 #9093 (0) | 2020.09.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- vue/cli
- 원격 통신
- C++
- ROS
- python3
- 초음파센서
- 백준알고리즘
- 윈도우
- roslaunch
- 우분투
- Ubuntu16.04
- umount
- HC-SR04
- Ubuntu20.04
- sensehat
- 포트인식문제
- Publisher
- 코드리뷰
- 아두이노 IDE
- 리눅스
- set backspace
- 프로그래머스
- Python
- 윈도우 복구
- Mount
- VirtualBox
- subscriber
- filesystem
- 8자주행
- VMware
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함