728x90
반응형
상남자의 수를 구하는 문제.
이건 쉽다. lv3 아닌 느낌.
친분있는 사람들 중 가장 무거운 무게를 들면 된다. 그럼 상남자 등극.
친분있는 사람들을 인덱스에 맞춰 리스트화 시키고, 1번부터 친분있는 사람들과 비교하며 모두를 무게로 이기면 상남자 카운트 +1
단 한명이라도 더 무거운 무게를 든다면 상남자에서 탈락. 그러니 for문을 모두 돌 필요는 없는거다.
아 물론 친분이 있단건 양방향이란거다. 그러니 양방향으로 리스트화 해주자.
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
weight = [0] + list(map(int, input().split()))
friend = [[] for _ in range(n+1)]
for _ in range(m):
a, b = map(int, input().split())
friend[a].append(b)
friend[b].append(a)
cnt = 0
for i in range(1, n+1):
isBest = True
if len(friend[i]):
for j in friend[i]:
if weight[i] <= weight[j]:
isBest = False
break
if isBest:
cnt += 1
print(cnt)
728x90
반응형
'알고리즘 > python' 카테고리의 다른 글
[softeer] lv3 순서대로 방문하기_python (2) | 2024.03.25 |
---|---|
[softeer] lv3 성적평가_python (0) | 2024.03.25 |
[softeer] lv3 출퇴근길_python (0) | 2024.03.25 |
[프로그래머스] lv2 H-index_python (1) | 2024.03.24 |
[프로그래머스] lv2 줄 서는 방법_python (5) | 2024.03.22 |