2231
N = int(input())
num = 1
sum = 0
while True :
sum += num
for i in str(num):
sum += int(i)
if sum == N :
print(num)
break
if num > N :
print(0)
break
sum = 0
num += 1
코드 설명
14889
import sys
from itertools import combinations, permutations
input = sys.stdin.readline
N = int(input()) # 인원
arr = [] #능력치 받기
for n in range(N):
arr.append(list(map(int,input().split())))
player = list(range(1,N+1))
case = list(combinations(player,N//2))
score_dif = []
for i,j in zip(case[:len(case)//2],list(reversed(case[len(case)//2:]))):
team1 = list(permutations(i,2))
team2 = list(permutations(j,2))
score1, score2 = 0, 0
for a,b in team1 :
score1 += arr[a-1][b-1]
for a,b in team2 :
score2 += arr[a-1][b-1]
dif = abs(score1-score2)
score_dif.append(dif)
print(min(score_dif))
코드 설명
'🏷️CS > Algorithm' 카테고리의 다른 글
[백준] 11660(구간 합 구하기 5) (0) | 2023.02.25 |
---|---|
[백준] 11659 (구간 합 구하기 1) (0) | 2023.02.25 |
[백준] 13458(시험감독) & 1260 (DFS와 BFS) (0) | 2023.01.08 |
[백준] 1152(단언의 개수) & 1789(수들의 합) (0) | 2022.12.13 |
[프로그래머스]소수찾기_효율성 테스트 통과하기 (0) | 2022.11.08 |