마방진 문제
def formingMagicSquare(s):
# Write your code here
s = [s[i][j] for i in range(3) for j in range(3)]
mmatrix = []
# 참고함
for a in range(1, 10):
for b in range(1, 10):
# 각 행, 열, 대각선의 합이 15가 되는 모든 경우의 수
if set([a, 15-a-b, b, 5+b-a, 5, 5+a-b, 10-b, a+b-5, 10-a]) == set(range(1, 10)):
mmatrix.append([a, 15-a-b, b,
5+b-a, 5, 5+a-b,
10-b, a+b-5, 10-a])
result = sys.maxsize
for m in mmatrix:
cost = 0
for i in range(9):
cost += abs(m[i] - s[i])
result = min(result, cost)
return result
'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글
[HackerRank-python] Climbing the Leaderboard (0) | 2022.07.11 |
---|---|
[HackerRank-python] Picking Numbers (0) | 2022.07.11 |
[HackerRank-python] Cats and a Mouse (0) | 2022.07.10 |
[HackerRank-python] Electronics Shop (0) | 2022.07.10 |
[HackerRank-python] Counting Valleys (0) | 2022.07.10 |