๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
- ๊ฐ๋ก, ์ธ๋ก, ๋๊ฐ์ ์ผ๋ก ๋๋ ์ ํด๊ฒฐ
- ๊ฐ๋ก: ํ ํ์ฉ sum ํด์ค
- ์ธ๋ก: 90๋ ๋๋ฆฐ๋ค์ ํ ๊น ํ๋ค๊ฐ ๊ตณ์ด๋ผ๋ ์๊ฐ์... ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ํ ์ด๋ผ๋ฆฌ ์๋ฅผ ๋ํด์ค
- ๋๊ฐ์ : ์ ์ฌ๊ฐํ์ด๋ฏ๋ก nํn์ด, nํ(N-1-n)์ด ๋ก ํ๋์ฉ ๋ํด์ค
- ๊ฐ์ฅ ํฐ ๊ฐ
๐จ ์ค๋๋ง์ ๋ค์ ์์ํด์ ๊ฐ๋ฒผ์ด ๋ฌธ์ ๋ก ์์(โ´โก`โ)
๐ป์์ค ์ฝ๋
T = 10 # ํ
์ผ๋ 10๊ฐ
for test_case in range(1, T + 1):
input() # ํ
์ผ ๋ฒํธ ๋ฐ๊ธฐ
N = 100
answer = 0
arr = [list(map(int, input()[:-1].split(' '))) for _ in range(N)] # 2 ์ฐจ์ ํ๋ ฌํ
# [:-1]์ ํ ์ด์ ๋ ๋งจ ๋ง์ง๋ง์ ๋์ด์ฐ๊ธฐ๊ฐ ๋ค์ด๊ฐ๋ค. ์ค๋๋ง์ ํด์ ์ ๊ทธ๋ฐ์ง ๋ชจ๋ฅด๊ฒ ์
# ๊ฐ๋ก ํฉ
for i in range(N):
answer = max(sum(arr[i]), answer)
vertical_sum_list = [0] * len(arr[0])
# ์ธ๋ก ํฉ
for i in range(N):
for j in range(N):
vertical_sum_list[j] += arr[i][j]
answer = max(max(vertical_sum_list), answer)
# ๋๊ฐ์
right_cross_sum = 0
for i in range(N):
right_cross_sum += arr[i][i]
answer = max(answer, right_cross_sum)
left_cross_sum = 0
for i in range(N):
left_cross_sum += arr[i][N - 1 - i]
answer = max(answer, left_cross_sum)
print(f'#{test_case} {answer}')
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] SWEA - 2805. ๋์๋ฌผ ์ํํ๊ธฐ (0) | 2022.03.23 |
---|---|
[python] SWEA - 1225. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 7์ผ์ฐจ - ์ํธ์์ฑ๊ธฐ (0) | 2022.03.22 |
[python] SWEA - 13547. ํ์จ๋ฆ (0) | 2022.02.22 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ณต ์ด๋ ์๋ฎฌ๋ ์ด์ (์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ3) (1) | 2022.02.15 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์์ดํ ์ค๊ธฐ(์ํด๋ฆฌ ์ฑ๋ฆฐ์ง) (0) | 2022.02.11 |