t = int(input())
for i in range(t):
n = int(input())
school = []
drink = []
for j in range(n):
line = input()
split = line.split(' ')
school.append(split[0])
drink.append(int(split[1]))
idx = drink.index(max(drink))
print(school[idx])
내가 직접 푼 코드인데 암만봐도 비효율적인 것 같아 다른 사람들의 풀이를 참고해보았다
# 테스트케이스 개수
T = int(input())
# 최대 술값
max = 0
# 학교이름
name = ""
for i in range(T):
# 학교의 개수 입력받음
N = int(input())
# 학교의 개수만큼 학교이름 술값을 입력받음
for j in range(N):
# 입력받은 학교이름과 술값을 S, L에 저장
S, L = input().split(' ')
# 정수로 변환한 술값을 비교해 최댓값이라면
if max < int(L):
# 최댓값을 업데이트하고 학교 이름을 저장함
max = int(L)
name = S
# 학교이름 출력
print(name)
S, L = input().split(' ')으로 입력받은 문장을 공백을 기준으로 쪼개고 그 조각들을 바로 저장하고
술값 비교도 바로 해버리니 list를 사용할 필요가 사라졌다
'Algorithm > [BOJ] - Python' 카테고리의 다른 글
[백준] 1931 : 회의실 배정 python (0) | 2023.08.12 |
---|---|
[백준] 11047 : 동전 0 python (0) | 2023.08.12 |
[백준] 1991 : 트리 순회 python (0) | 2023.08.10 |
[백준] 11279 : 최대 힙 python (0) | 2023.08.10 |
[백준] 1927 : 최소 힙 python (0) | 2023.08.10 |