๊ฒฉ์ํ ์ต๋ํฉ
๐ ๋ฌธ์
โฃ ์ ๋ ฅ์ค๋ช
์ฒซ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1<=N<=50)
๋ ๋ฒ์งธ ์ค๋ถํฐ N์ค์ ๊ฑธ์ณ ๊ฐ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ์์ฐ์๋ 100์ ๋์ง ์๋ ๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ต๋ํฉ์ ์ถ๋ ฅํฉ๋๋ค.
โฃ ์ ๋ ฅ์์
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
โฃ ์ถ๋ ฅ์์
155
๐ง ํ์ด
๋๋ณด๊ธฐ
ํ์ด
n = int(input())
board = []
for _ in range(n):
tmp = list(map(int, input().split()))
board.append(tmp)
max_sum = 0
# ๊ฐ๋ก ํฉ ๊ตฌํด์ ์ต๋๊ฐ๊ณผ ๋น๊ต
for i in board:
if sum(i) > max_sum:
max_sum = sum(i)
# ์ธ๋ก ํฉ ๊ตฌํด์ ์ต๋๊ฐ๊ณผ ๋น๊ต
for j in range(n):
tmp = 0
for k in range(n):
tmp += board[k][j]
if tmp > max_sum:
max_sum = tmp
# ์ ๋ฐฉํฅ ๋๊ฐ์ ํฉ ๊ตฌํด์ ์ต๋๊ฐ๊ณผ ๋น๊ต
tmp2 = 0
for l in range(n):
tmp2 += board[l][l]
if tmp2 > max_sum:
max_sum = tmp2
# ์ญ๋ฐฉํฅ ๋๊ฐ์ ํฉ ๊ตฌํด์ ์ต๋๊ฐ๊ณผ ๋น๊ต
tmp3 = 0
for m in range(n):
tmp3 += board[m][n-1-m]
if tmp3 > max_sum:
max_sum = tmp3
print(max_sum)
ํ์ด 2
# ์์ ํ์ด์ ํฌ๊ฒ ๋ค๋ฅด์ง ์์
# ์
๋ ฅ: ์ฒซ ์ค - N, ๋ ๋ฒ์งธ๋ถํฐ N๋ฒ์งธ๊น์ง N๊ฐ์ ์์ฐ์
# ์ถ๋ ฅ: ์ต๋ํฉ ์ถ๋ ฅ
n = int(input()) # ์ ์ n ์
๋ ฅ ๋ฐ ํ ๋น
array = [] # ์ซ์๋ฅผ ๋ด์ ๋น array ํ ๋น
list_s = [] # ํฉ์ ๋ด์ list_s ํ ๋น
for i in range(n): # n๋งํผ ๋ฐ๋ณต
array.append(list(map(int,input().split()))) # ์ซ์ list๋ก ๋ณํํ์ฌ 2์ฐจ์ ๋ฐฐ์ด์ ๋ด๊ธฐ
for i in array: # array ์์๋งํผ ๋ฐ๋ณต
list_s.append(sum(i)) # ๊ฐ ํ์ ํฉ ๊ตฌํ์ฌ list_s์ ์ถ๊ฐ
for i in range(n): # i ๋งํผ ๋ฐ๋ณต
tmp = 0 # ์์ ๊ฐ์ ๋ํ tmp ํ ๋น
for j in range(n): # ์ด์ค๋ฐ๋ณต๋ฌธ
tmp += array[j][i] # ๊ฐ ์ด์ ํฉ ๊ตฌํ๊ธฐ
list_s.append(tmp) # list_s์ ์ถ๊ฐ
i = 0
tmp2 = 0
tmp3 = 0
while i < n: # i๊ฐ n๋ณด๋ค ํฌ์ง ์์ ๋ ๋ฌดํ ๋ฐ๋ณต
tmp2 += array[i][i] # tmp2์๋ ์ ๋ฐฉํฅ ๋๊ฐ์ ํฉ ๊ตฌํ๊ธฐ
tmp3 += array[n-1-i][i] # tmp3์๋ ์ญ๋ฐฉํฅ ๋๊ฐ์ ํฉ ๊ตฌํ๊ธฐ
i += 1
else:
list_s.append(tmp2) # list_s์ ์ถ๊ฐ
list_s.append(tmp3) # list_s์ ์ถ๊ฐ
print(max(list_s)) # list_s์ ์ต๋๊ฐ ์ถ๋ ฅ
๋ค๋ฅธ ์ฌ๋ ํ์ด
# ์ ์ n ์
๋ ฅ ๋ฐ ํ ๋น
n = int(input())
# ํ ๋ฒ์ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ
a=[list(map(int, input().split())) for _ in range(n)]
# ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ์ต๋๊ฐ ํ ๋น
largest = -2147000000
# ํ๊ณผ ์ด ํฉ ๊ตฌํ๊ธฐ
for i in range(n):
sum1 = sum2 = 0
for j in range(n):
sum1 += a[i][j] # ํ์ ์ญ ํฉํ๋ ๊ฒ
sum2 += a[j][i] # ์ด์ ์ญ ํฉํ๋ ๊ฒ
if sum1 > largest:
largest = sum1
if sum2 > largest:
largest = sum2
# ๋๊ฐ์ ํฉ ๊ตฌํ๊ธฐ
sum1 = sum2 = 0
for i in range(n):
sum1 += a[i][i]
sum2 += a[i][n-i-1]
if sum1 > largest:
largest = sum1
if sum2 > largest:
largest = sum2
print(largest)
'๐งฉ Algorithm > ๐จ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ณณ๊ฐ(๋ชจ๋์๊ณ) (0) | 2022.07.26 |
---|---|
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ฌ๊ณผ๋๋ฌด(๋ค์ด์๋ชฌ๋) (0) | 2022.07.26 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์๋ค์ ํฉ (0) | 2022.07.24 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๋ ๋ฆฌ์คํธ ํฉ์น๊ธฐ (0) | 2022.07.24 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์นด๋ ์ญ๋ฐฐ์น(์ ์ฌ ๊ธฐ์ถ) (0) | 2022.07.24 |