반응형
https://swexpertacademy.com/main/main.do
1. 해결방법
먼저 N개를 2로 나눈 N/2의 몫을 P라 할 때 P가 처음 시작점이 될 것 이라고 생각했고, 첫번째 행부터 P번째 행까지는 -1, +1열까지 N부터 P번째 행까지는 +1 해가는 방식으로 2가지의 개수를 합치고 더해서 총 개수를 구하는 방식을 이용했다.
2. 코드
#include <iostream>
using namespace std;
int total;
int num;
int ary[49][49];
int sum = 0;
void check() {
int center = num / 2;
sum = 0;
for (int i = 0; i < center; i++) {
for (int j = center-i; j <= center+i; j++) {
sum += ary[i][j];
}
for(int k = center - i; k <= center + i; k++){
sum += ary[num-1-i][k];
}
}
for(int m = 0; m<num; m++){
sum += ary[center][m];
}
}
int main()
{
int temp = 0;
cin >> total;
for (int i = 0; i < total; i++) {
cin >> num;
for (int j = 0; j < num; j++) {
for (int k = 0; k < num; k++) {
scanf("%1d", &ary[j][k]);
}
}
check();
cout << "#" << i + 1 << " " << sum << endl;
}
}
반응형
'코딩테스트 > SW expert' 카테고리의 다른 글
[SW Expert] #2817 부분수열의 합 (0) | 2019.12.06 |
---|---|
[SW Expert] #1215 S/W 문제해결 기본 3일차 - 회문1 (0) | 2019.12.04 |
[SW Expert] #1208 S/W 문제해결 기본 1일차 - Flatten (0) | 2019.11.28 |
[SW Expert] #1244 S/W 문제해결 응용 2일차 - 최대 상금 (0) | 2019.11.27 |
[SW Expert] #2806 N-Queen (0) | 2019.11.22 |