반응형
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
어렵지 않은 문제였는데 쉽다고 생각하니 자잘한 코드실수가 있었다. 쉬운 문제여도 미리 구현방식 생각해두고 코딩하자.
내 코드
메모리 : 20184 KB
시간 : 113 ms
코드길이 : 1472 B
[내 코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
static int N;
static int[][] value;
static int result;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for(int t = 1; t <= T; t++) {
sb.append('#').append(t).append(' ');
N = Integer.parseInt(br.readLine());
value = new int[N][N];
result = 0;
for(int r = 0; r < N; r++) {
String row = br.readLine();
for(int c = 0; c < N; c++) {
value[r][c] = row.charAt(c) - '0';
}
}
int mid = N / 2;
getValue(mid, 0);
sb.append(result).append('\n');
}
System.out.print(sb);
}
//탐색한 column, 범위 설정 도와줄 값
public static void getValue(int column, int n) {
//더해질 row의 범위
for(int row = 0 + n; row < N - n; row++) {
result += value[column][row];
}
moveRight(column + 1, n + 1);
moveLeft(column - 1, n + 1);
return;
}
//오른쪽으로 가기
public static void moveRight(int column, int n) {
if(column == N)
return;
for(int row = 0 + n; row < N - n; row++) {
result += value[column][row];
}
moveRight(column + 1, n + 1);
}
//왼쪽으로 가기
public static void moveLeft(int column, int n) {
if(column < 0)
return;
for(int row = 0 + n; row < N - n; row++) {
result += value[column][row];
}
moveLeft(column - 1, n + 1);
}
}
반응형
'SSAFY > SWEA' 카테고리의 다른 글
[SWEA] 6190 : 정곤이의 단조 증가하는 수 (0) | 2023.05.01 |
---|---|
[SWEA] 2814 : 최장경로 (0) | 2023.05.01 |
[SWEA] 5215 : 햄버거 다이어트 (0) | 2023.04.30 |
[SWEA] 1486 : 장훈이의 높은 선반 (0) | 2023.04.29 |
[SWEA] 3074 : 입국심사 (0) | 2023.04.28 |