[백준_python] 로프 || 2217

2021. 2. 15. 20:12·🎯PS

www.acmicpc.net/problem/2217

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net

굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다르다.
병렬로 연결하면 각가의 로프에는 모두 고르게 w(중량) / k(로프의 개수) 만큼의 중량이 걸린다.
 
모든 로프를 사용해야할 필요가 없다. 최대 중량을 구하는 문제이다.
 
모든 로프를 사용해야할 필요가 없다는 부분에서 어떻게 해야하는 거지,,라는 생각과 함께
그냥 sort( )를 해서 가장 작은 중량과 주어진 로프의 개수를 곱하는 것 외에는 다른 생각이 안들었다..ㅜ


그렇지만 예를 들어 3개의 로프가 주어진다고 생각했을 때, 각각 로프가 들 수 있는 최대 중량이
[15, 20, 5] 라고 한다면, ① 20(20짜리 하나) ② 30(15와 20 가능, 5는 불가능) ③ 15(15, 20, 5 모두 가능)이 된다.
따라서 여기서 가장 최대 중량은 30이 된다.
 
그래서 주어진 로프들을 내림차순으로 정렬해준 후, 개수를 늘려가는 방식으로 구해준 후 최대값을 구해주어야 한다.

#로프

n = int(input())
rope = []
for _ in range(n):
    rope.append(int(input()))

rope.sort()
rope.reverse()
#rope.sort(reverse = True) 최대 중량을 버틸수 있는 로프 순으로

m = 0
for i in range(n):
    if m < rope[i] * (i+1): #최대 중량 x 해당 개수들 중 최대 중량
        m = rope[i] * (i+1)
print(m)

 
 
다음에 또 풀어봐야지,,!
 
 
 
 
참고한 사이트)
covenant.tistory.com/128

[백준 2217번 로프] 문제 해설 - 파이썬

[백준 2217번 로프] 문제 해설 - 파이썬 문제 N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는

covenant.tistory.com

sungmin-joo.tistory.com/26

[백준] 2217번 로프 파이썬 해설

출처: https://www.acmicpc.net/problem/2217 2217번: 로프 N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있.

sungmin-joo.tistory.com

 

반응형
'🎯PS' 카테고리의 다른 글
  • [백준_python] 늑대와 양 || 16956
  • [백준_python] 접미사 배열 || 11656
  • [백준_python] 회의실 배정 || 1931
  • [백준_python] ATM || 11399
dmaolon
dmaolon
프로그래밍을 공부한 내용을 기록하는 공간입니다.
  • dmaolon
    기록 남기기
    dmaolon
  • 전체
    오늘
    어제
    • ALL (260)
      • ➰ Series (5)
      • 🎯PS (168)
        • Algorithm (15)
      • ☕ Java (11)
      • 🍀 Spring Boot (29)
      • 💬 Database (9)
      • 🐣 Computer Science (14)
      • 👍 Daily (4)
      • 🎁ReactJS (4)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    프로그래밍
    Spring
    알고리즘
    BFS
    자바
    코딩
    백준
    파이썬
    dfs
    프로그래머스
  • hELLO· Designed By정상우.v4.10.1
dmaolon
[백준_python] 로프 || 2217
상단으로

티스토리툴바