728x90
300x250
마름모 별찍기만 잘 되어있으면 금방 풀 수 있는 문제였다.
공백을 주던 부분을 카운팅해서 y좌표값 넣어주기!
import java.util.Scanner;
import java.io.FileInputStream;
/*
사용하는 클래스명이 Solution 이어야 하므로, 가급적 Solution.java 를 사용할 것을 권장합니다.
이러한 상황에서도 동일하게 java Solution 명령으로 프로그램을 수행해볼 수 있습니다.
*/
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int tc=0;tc<T;tc++) {
int n = sc.nextInt();
int map[][] = new int[n][n];
int sum=0;
for(int i=0;i<n;i++) {
String str = sc.next();
for(int j=0;j<str.length();j++) {
map[i][j]=Character.getNumericValue(str.charAt(j));
}
}
int k = n/2+1;
//마름모 위
for(int i=0;i<k;i++) {
int y=0;
for(int j=k;j>i+1;j--) {
//System.out.print(" ");
y++;
}
for(int j=0;j<=i*2;j++,y++) {
sum+=map[i][y];
//System.out.print(map[i][y]);
}
//System.out.println();
}
//마름모 아래
int x= k;
for(int i=n-k;i>0;i--,x++) {
int y=0;
for(int j=0;j<k-i;j++) {
//System.out.print(" ");
y++;
}
for(int j=0;j<i*2-1;j++,y++){
sum+=map[x][y];
//System.out.print(map[x][y]);
}
//System.out.println();
}
System.out.println("#"+(tc+1)+" "+sum);
}
}
}
728x90
'알고리즘 > 그 외' 카테고리의 다른 글
SWEA - 1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2020.02.23 |
---|---|
SWEA - 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (0) | 2020.02.23 |
SWEA - 1213. [S/W 문제해결 기본] 3일차 - String (0) | 2020.02.23 |
SWEA - 1215. [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2020.02.23 |
SWEA - 1216. [S/W 문제해결 기본] 3일차 - 회문2 (0) | 2020.02.23 |