인프런 김태원님의 파이썬 알고리즘 문제풀이를 듣고 작성한 글입니다.
파이썬 알고리즘 문제풀이 (코딩테스트 대비) - 인프런 | 강의
파이썬을 이용한 코딩테스트 문제풀이를 합니다., - 강의 소개 | 인프런...
www.inflearn.com
내가 이런 배열문제, 별찍기 문제에 약한것 같다.
고민 하고 방법이 잘 떠오르지 않아 강의를 봤다.
#강의 풀이
n = int(input())
a = [list(map(int,input().split())) for _ in range(n)]
res = 0
s = e = n//2
for i in range(n):
for j in range(s, e+1):
res += a[i][j]
if i < n//2:
s -= 1
e += 1
else:
s += 1
e -= 1
print(res)
처음에 가운데 한칸을 먹고
start와 end 변수를 이용해 한칸씩 늘려나가다가
i 값이 중간을 넘으면
다시 줄여나가는 방법으로 합계값을 구하면 된다.
'알고리즘 (Python)' 카테고리의 다른 글
마구간 정하기 (결정알고리즘, 이분탐색) (0) | 2022.03.24 |
---|---|
랜선자르기 (결정알고리즘, 이분탐색) (0) | 2022.03.24 |
수의 구간 합 (0) | 2022.03.22 |
두 리스트 합치기 (0) | 2022.03.22 |
소수 - 에라토스테네스의 체 (0) | 2022.03.22 |
댓글