Problem Solving/프로그래머스
프로그래머스 가장 많이 받은 선물
minOE
2025. 7. 5. 21:23
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/258712
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
def solution(friends, gifts):
n = len(friends)
d = dict()
d = {friends[i]: i for i in range(n)}
ans = {i : 0 for i in range(n)}
array = [[0 for _ in range(n)] for _ in range(n)]
for gift in gifts:
arr = gift.split()
array[d[arr[0]]][d[arr[1]]] +=1
for i in range(n):
for j in range(i):
if i == j :
continue
if array[i][j] > array[j][i]:
ans[i] +=1
if array[i][j] < array[j][i]:
ans[j] +=1
if array[i][j] == array[j][i]:
temp1=0
temp2=0
for k in range(n):
temp1 += array[i][k] - array[k][i]
temp2 += array[j][k] - array[k][j]
if temp1 > temp2 :
ans[i] +=1
if temp1 < temp2:
ans[j] +=1
return max(ans.values())
728x90