본문 바로가기
Algorithm

[그리디/Greedy] 백준 9237 이장님 초대 - 파이썬(Python)

by jangThang 2022. 9. 9.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    9237번: 이장님 초대

    입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000)

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     묘목이 다 자라는 데에 필요한 시간이 주어집니다. 하루에 1개만 심을 수 있으며, 모두 다 자라는 데에 필요한 최소의 일 수를 구해야 합니다.

     

    2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결

     

    [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결

     경주마들을 자세히 보면, 양쪽 시야를 차단하는 안대를 끼고 있습니다. 이를 '차안대' 라고 합니다. 말의 눈은 양 옆에 달려 있어 시야가 '350도'나 됩니다. 자기 자신 빼곤 다 보이기 때문에, 다

    star7sss.tistory.com

     자라는 시간이 가장 오래 걸리는 묘목부터 심어야 합니다. 그래야, 가장 최소의 시간을 구할 수 있습니다.

     

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    n = int(input())  # 묘목 개수
    tree = list(map(int, input().split()))
    
    # 그리디
    tree.sort(reverse=True)  # 걸리는 시간이 큰 순서대로 정렬
    res = 0  # 모두 자라는데 걸리는 시간
    for day, t in enumerate(tree, 2):
        res = max(res, t+day)
    print(res)

     맨 첫 날은 '묘목'을 구입하는 데에 사용합니다. 따라서 2일째부터 묘목을 심으므로 주의해야 합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글