Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

앞날창창이승경 개발 블로그

[백준/python/파이썬] #22993 서든어택 3 본문

백준(BOJ)

[백준/python/파이썬] #22993 서든어택 3

apnalchangchangx2leeseungkyung 2021. 11. 9. 22:46

 

22993번: 서든어택 3

좋은 전투 순서가 존재해서 준원이만 생존하고 나머지 플레이어가 모두 죽게 만들 수 있다면 Yes를, 반대로 전투가 어떤 순서로 이루어져도 준원이가 절대 최후의 생존자가 될 수 없다면 No를

www.acmicpc.net

CODE

n = int(input())
arr = list(map(int,input().split()))

def sudden() :
    jun = arr.pop(0)
    arr.sort()

    for i in arr :
        if jun > i : 
            jun += i
        else :
            return "No"
    return "Yes"
print(sudden())

설명

- 준원이를 포함한 플레이어의 수를 입력받습니다.

- 각 플레이어의 공격력을 입력받습니다.

- 함수를 생성합니다.

- 변수에 준원이의 공격력을 pop 함수를 통해 선언하고 입력받은 각 플레이어의 공격력 변수에서 준원이의 공격력을 뺍니다.

- 준원이가 가장 좋은 전투 순서를 통해 생존하기 위해 각 플레이어의 공격력을 오름차순으로 정렬합니다. (공격력이 약한 상대부터 차례대로 죽이는 것이 가장 쉬운 전투 순서이기 때문입니다.)

- 반복문을 돌면서 준원이의 공격력보다 다른 플레이어의 공격력이 높거나 같으면 준원이는 최후의 생존자가 될 수 없으므로 "No"를 반환합니다.

- 반복문을 다 돌면 준원이가 최후의 생존자라는 것이므로 "Yes"를 반환합니다.

- 함수의 반환값을 출력합니다.

 

감사합니다.

Comments