<문제>
현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다.
현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다.
“다른 모든 지원자와 일대일 비교하여 키와 몸무게 중 적어도 하나는 크거나, 무거운 지원자
만 뽑기로 했습니다.”만약 A라는 지원자보다 키도 크고 몸무게도 무거운 지원자가 존재한다면 A지원자는 탈락입니다.
결과적으로 어렵진 않지만 문제를 이해하는데 어려움이 있었다
“다른 모든 지원자와 일대일 비교하여 키와 몸무게 중 적어도 하나는 크거나, 무거운 지원자
만 뽑기로 했습니다."
이 부분이 잘 이해가 가지않았다 그럼 누구를 비교하는거지?
지금생각하면 너무 당연하지만 ㅎㅎ
문제를 잘 읽어봐야한다 문제를 보면
"다른 모든 지원자"
이뜻은 한명이라도 나보다 키가 크면서 몸무게가 많이 나가는 사람이 있으면 탈락이라는 것이다
예를들어 (183,65), (181,60), (180,70), (172,67)있다
이때 기준은 키로 잡았다
1.키 기준으로 sort를 한다 이때 역순으로 sort해놓은것이다
이때 자세히 보면 list[1]은 list[0]보다 몸무게가 작다
즉 키는 이미 부족하므로(정렬로 거름) 몸무게라도 커야 뽑히는상태인데 몸무게 마저 작은 상황이다
따라서 뽑히지 못하므로 카운트 되지 않는다
이것을 반복 하면 답이 나오게 된다
=>
import sys
sys.stdin = open("씨름.txt","r")
n = int(input())
body = []
for i in range(n):
a, b = map(int, input().split())
body.append((a, b))
body.sort(reverse= True)
largest = 0
cnt = 0
for x, y in body:
if y > largest:
largest=y
cnt +=1
print(cnt)
느낀점
반복