Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 맥북
- PYTHON
- github
- dacon
- 더현대서울 맛집
- 편스토랑 우승상품
- programmers
- 프로그래머스
- gs25
- ubuntu
- 데이콘
- 편스토랑
- 백준
- 우분투
- 금융문자분석경진대회
- Git
- SW Expert Academy
- Docker
- 프로그래머스 파이썬
- 파이썬
- Real or Not? NLP with Disaster Tweets
- Kaggle
- 자연어처리
- Baekjoon
- AI 경진대회
- hackerrank
- 코로나19
- 캐치카페
- ChatGPT
- leetcode
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 2455번 : 지능형 기차 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 지능형 기차 입니다.
👨🏻💻 문제 풀이
이 문제에서 입력으로 받는 정보는 총 4개의 역에서 각각 내리고 탄 사람의 수 입니다.
이 값을 가지고 구해야하는 것은 각 역을 지나고 났을 때 기차에 남아있는 탑승인원 정보 중 최대값 입니다.
예제 입력을 보고 정보를 입력 받는 코드를 작성합니다.
bording_infos = []
for _ in range(4):
bording_info = list(map(int, input().split()))
bording_infos.append(bording_info)
각 행 마다 공백을 기준으로 하차인원, 탑승인원을 나타내는 숫자 2개를 입력 받으므로
입력받은 값 input()을 공백기준으로 .split() 한 뒤 이 값이 문자열이므로 정수로 바꾸어주기 위해 map(int, )를 활용해
각 값을 정수로 바꾸어준 뒤 list 로 묶어 list로 형변환 합니다.
그러면 "0 32" -> [0, 32] 로 값이 바뀌게 됩니다.
이 값들을 bording_infos 리스트에 모아 둡니다.
passengers = [bording_infos[0][1]]
첫 번째 역에서는 내린사람은 없고 탄 사람만 있으므로
탑승인원 정보를 모아두는 passengers 리스트에 입력받은 정보 중 첫번째 역의 탄 사람 수 정보를 넣어줍니다.
for bording_info in bording_infos[1:]:
passenger = passengers[-1] - bording_info[0] + bording_info[1]
passengers.append(passenger)
그 다음 두번째 역의 탑승정보 부터 꺼내와서 계산을 합니다.
현재 열차 탑승인원 - 이번 역에서 내리는 사람 + 이번 역에서 타는 사람
이렇게 계산한 값을 passengers 리스트에 넣어줍니다.
max(passengers)
마지막으로 가장 탑승인원이 많았던 시점을 max로 가져옵니다.
전체 코드는 아래를 참고해주세요!
👨🏻💻 코드 ( Solution )
def intelligent_train(bording_infos):
passengers = [bording_infos[0][1]]
for bording_info in bording_infos[1:]:
passenger = passengers[-1] - bording_info[0] + bording_info[1]
passengers.append(passenger)
return max(passengers)
if __name__ == "__main__":
bording_infos = []
for _ in range(4):
bording_info = list(map(int, input().split()))
bording_infos.append(bording_info)
print(intelligent_train(bording_infos))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 2566번 : 최댓값 (Python) (0) | 2022.01.03 |
---|---|
[BaekJoon] 2559번 : 수열 (Python) (0) | 2022.01.02 |
[BaekJoon] 10992번 : 별 찍기 - 17 (Python) (0) | 2021.12.31 |
[BaekJoon] 10995번 : 별 찍기 - 20 (Python) (0) | 2021.12.30 |
[BaekJoon] 2523번 : 별 찍기 - 13 (Python) (0) | 2021.12.29 |
Comments