문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB
나의코드
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
size = int(input())
start = size//2
end = size//2+1
answer = 0
for i in range(size):
tmp = [int(j) for j in list(input())]
answer += sum(tmp[start:end])
if i<size//2:
start -= 1
end += 1
else:
start += 1
end -= 1
print(f"#{test_case} {answer}")
풀이, 후기
어려운 문제가 아니였음에도 엄청나게 시간이 걸렸다.
프로그래머스 코딩테스트 환경이 아니였기에 오류를 고치는 것에 힘이들었고,
공백과 탭키로 들여쓰기에 오류가 나오는 경우를 처음 겪어서 다른 문법오류를 찾는다고 헤맸다.
start와 end 두개의 변수를 선언하여 합해야 할 리스트 범위를 지정하여 문제를 해결하였다.
단순히 변수 두개로 1, 3, 5 .....증가하다 줄어드는 방식을 구현할 수 있었으나 너무 복잡하게 공식을 만들고 풀려고만 생각하여 오히려 어렵게 해결할 뻔한 문제였다.
'공부-코딩테스트 > 코테풀이 - 자바, 파이썬' 카테고리의 다른 글
암호생성기 (코딩테스트, SW Expert Academy) (0) | 2022.04.19 |
---|---|
1954. 달팽이 숫자 (코딩테스트, SW Expert Academy) (0) | 2022.04.16 |
[1차] 캐시 (코딩테스트, 프로그래머스) (0) | 2022.04.14 |
다음 큰 숫자 (프로그래머스, 코딩테스트) (0) | 2022.04.13 |
구명보트 (코딩테스트, 프로그래머스, 파이썬) (0) | 2022.03.06 |
댓글