반응형
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
🐍파이썬
T = int(input())
for test_case in range(1, T + 1):
N = int(input())
worth = [list(map(int, input())) for _ in range(N)]
sum = 0
mid = N // 2
start = mid
end = mid
for i in range(N):
for j in range(start, end+1):
sum += worth[i][j]
if i < mid: #상단(중간보다 위쪽), j의 범위 증가
start-=1
end+=1
else: #하단(중간+중간보다 아래쪽), j의 범위 감소
start+=1
end-=1
print("#{} {}".format(test_case, sum))
range() 내부의 값을 조절하여 value 값을 더하는 풀이
T = int(input())
for test_case in range(1, T + 1):
n = int(input()) #농장의 크기
values = []
n_sum = 0 #농장전체의 value
for i in range(n):
col = list(map(int, input().rstrip()))
n_sum += sum(col)
values.append(col)
for i in range(n):
if i < (n // 2): #마름모 상단
n_sum -= sum(values[i][:n//2-i]) #가치없는 value 빼기
n_sum -= sum(values[i][-(n//2-i):])
elif i > (n // 2): #마름모 하단
n_sum -= sum(values[i][:-(n//2-i)])
n_sum -= sum(values[i][(n//2-i):])
print("#{} {}".format(test_case, n_sum))
미리 농장 전체의 value를 구한 뒤 index를 조절하여 색칠되지 않은 부분의 value를 빼는 풀이
ex) 5x5 크기 농장의 경우
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
👉 위와 같이 빨간색으로 표시된 부분의 value를 전체 농장 크기에서 빼준다.
반응형
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA|파이썬] 2817. 부분 수열의 합 (D3) (0) | 2023.05.09 |
---|---|
[SWEA|파이썬] 1209. [S/W 문제해결 기본] 2일차 - Sum (D3) (0) | 2023.05.09 |
[SWEA|파이썬] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (D3) (0) | 2023.05.08 |
[SWEA|파이썬] 2806. N-Queen (D3) (1) | 2023.05.07 |
[SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3) (0) | 2023.05.07 |
[SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3) (0) | 2023.05.07 |