Algorithm Problem/Python

[python] SWEA - 1209. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum

deo2kim 2022. 3. 21. 22:59
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • ๊ฐ€๋กœ, ์„ธ๋กœ, ๋Œ€๊ฐ์„ ์œผ๋กœ ๋‚˜๋ˆ ์„œ ํ•ด๊ฒฐ
  • ๊ฐ€๋กœ: ํ•œ ํ–‰์”ฉ 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

๋ฐ˜์‘ํ˜•