반응형
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
- Implemention
- 파이썬
- 심화1
- 10926
- 입문
- CSS
- 꾸준히
- Beakjoon
- 문제풀이
- 초보
- C 언어
- 구현
- c언어
- 설명
- greedy
- 백준
- 문자열
- HTML
- C Programming
- Baekjoon
- Python
- 10807
- 코드엔진
- 친절한 설명
- 그리디
- VS
- 정리
- implement
- C
- 알고리즘
Archives
- Today
- Total
안경잡이 구루루
백준 14487 (욱제는 효도쟁이야!!) [Python/파이썬] [Greedy/그리디] 본문
파이썬(Python)/문제풀이(백준,BaekJoon)
백준 14487 (욱제는 효도쟁이야!!) [Python/파이썬] [Greedy/그리디]
구루루(gururu) 2023. 10. 9. 10:34반응형
https://www.acmicpc.net/problem/14487
나:
n = int(input())
costs = list(map(int,input().split()))
print(sum(costs)-max(costs))
완성된 코드는 위와 같다.
코드 자체는 간단하지만 ' 둘째 줄에 i번째 마을과 i+1번째 마을의 이동비용 vi가 n개 주어진다. n번째 vi는 n번째 마을과 1번째 마을의 이동비용을 의미한다. ' 의 문장을 제대로 이해하는 것이 중요한 문제였다.
첫째 줄에 마을 수 n 을 정수형태로 받는다.
두번 째 줄에는 n 만큼 마을의 '이동비용'을 받는다.
모든 마을을 관광하기 위한 '최소' 이동비용을 구하기 위해서는 가장많은 이동비용을 제외한 나머지의 합을 더하면 된다.
즉, 이동 비용이 많은 곳에서 관광을 시작하면 된다. 예제 1의 경우 두번째 마을 -> 세번 쨰 마을 일때 비용이 6으로 가장 많으니 세번째 마을 에서 출발해 한 바퀴 돌아서 두번 째 마을에 도착하게 되면 최소한의 비용으로 모든 마을을 관광하게 된다.
그래서 최종적으로 모든 비용의 합을 sum 을 통해 구하고 이들 중 가장 큰 값을 max 함수를 통해 뺀 값을 출력한다.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 2440 (별 찍기 -3 ) [Python/파이썬] [Implement / 구현] (1) | 2023.10.11 |
---|---|
백준 28014 (첨탑 밀어서 부수기) [Python/파이썬] [Greedy/그리디] (2) | 2023.10.09 |
백준 22864 (피로도) [Python/파이썬] [Greedy/그리디] (2) | 2023.10.08 |
백준 14659 (한조서열정리하고옴ㅋㅋ) [Python/파이썬] [Greedy/그리디] +) Pypy3 (0) | 2023.09.18 |
백준 14720 (우유축제) [Python/파이썬] [Greedy/그리디] (0) | 2023.09.18 |