본문 바로가기
공부-코딩테스트/코테풀이 - 자바, 파이썬

2805. 농작물 수확하기 (SW Expert Academy, 코딩테스트)

by 령과 2022. 4. 15.

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

나의코드

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 .....증가하다 줄어드는 방식을 구현할 수 있었으나 너무 복잡하게 공식을 만들고 풀려고만 생각하여 오히려 어렵게 해결할 뻔한 문제였다.

댓글