반갑습니다!

[SWEA] 2805 농작물 수확하기 본문

알고리즘 문제 풀이

[SWEA] 2805 농작물 수확하기

김덜덜이 2020. 4. 18. 21:57
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com

풀이

문제에서 주어진 규칙을 찾아서 해결해주면 된다. 굳이 이차원 배열을 선언할 필요가 없어보여서 일차원 배열로 해결하였다.

코드

#include <iostream>
using namespace std;

int main() {
    int t;
    scanf("%d", &t);
    int tmp[51] = { 0, };
    for (int c = 1; c <= t; c++) {
        int ans = 0;
        int size;
        int side = 0;
        scanf("%d", &size);
        for(int i=0; i<size; i++){
            for (int j = 0; j < size; j++) 
                scanf("%1d", &tmp[j]);
            int base = (size - 1) / 2;
            ans += tmp[base];
            for (int l = 1; l <= side; l++) ans += (tmp[base - l] + tmp[base + l]);
            if (i < (size - 1) / 2) side++;
            else side--;
        }
        printf("#%d %d\n", c, ans);
    }
    return 0;
}

'알고리즘 문제 풀이' 카테고리의 다른 글

[SWEA] 1225 암호생성기  (0) 2020.04.18
[SWEA] 1215 회문1  (0) 2020.04.18
[백준] 17822 원판 돌리기  (0) 2020.04.18
[프로그래머스] 방문 길이  (0) 2020.04.17
[프로그래머스] 소수 만들기  (0) 2020.04.17