반응형
250x250
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 |
Tags
- 그리디
- 백준
- 현대엔지니어링 수요예측
- 파이썬 정렬
- 사회조사분석사 2급 독학
- 사회조사분석사 2급 공부방법
- 정렬
- 사회조사분석사 2급 기출문제집
- 사회조사분석사2급실기신청꿀팁
- 2월공모주
- 공모주청약
- 백준 알고리즘
- 현대엔지니어링
- 사회조사분석사 2급
- 머신러닝
- 사회조사분석사 2급 필기 시험시간
- 공모주 청약
- 너비우선탐색
- 사이킷런
- 시물레이션
- 사회조사분석사 2급 접수
- DFS
- 공모주
- 사회조사분석사2급실기신청
- 사회조사분석사 2급 필기 공부방법
- BFS
- 사회조사분석사 2급 필기 요약정리
- 알고리즘
- 오미크론 자가격리
- 벽부수고이동하기 파이썬
Archives
- Today
- Total
세상을 바꾸는 데이터
[백준 2217번] 로프 - 파이썬 본문
문제 링크:
https://www.acmicpc.net/problem/2217
2217번: 로프
N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하
www.acmicpc.net
- 병렬로 연결하는 것을 우선순위로 고려해야 한다.
- 입력값(로프가 버틸 수 있는 최대 중량)을 오름차순으로 정렬하고, 전체 로프 사용에서 1개 로프만 사용하는 순서대로 최댓값을 도출한다.
- max((가장 적게 버틸 수 있는 중량 * n), (2번째로 버틸 수 있는 중량 * (n-1)), ........ , (가장 많이 버틸 수 있는 중량 * 1))
<풀이>
# 2217번 로프
# 그리디 알고리즘 순서: 전체 로프 사용 -> 1개만의 로프 사용 시 최댓값을 최적의 해로 도출
n = int(input())
weight = []
ans = 0
# weight 리스트에 rope 중량 넣기
for i in range(n):
rope = int(input())
weight.append(rope)
# weight 정렬
weight.sort()
# 로프 사용 개수에 따라 나올 수 있는 최댓값을 도출
for j in range(len(weight)):
if weight[j] * n > ans:
ans = weight[j] * n
n-= 1
print(ans)

728x90
반응형
'PS Study > BOJ(백준)' 카테고리의 다른 글
[백준 10610번] 30 - 파이썬 (2) | 2022.01.20 |
---|---|
[백준 10162번] 전자레인지 - 파이썬 (0) | 2022.01.20 |
[백준 5585번] 거스름돈 - 파이썬 (2) | 2022.01.20 |
[백준 1541번] 잃어버린 괄호 - 파이썬 (1) | 2022.01.20 |
[백준 1026번] 보물 - 파이썬 (1) | 2022.01.20 |