[D3] 농작물 수확하기 - 2805
성능 요약
메모리: 27,176 KB, 시간: 169 ms, 코드길이: 1,085 Bytes
제출 일자
2023-10-24 17:57
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int[][] map;
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++)
{
int n = sc.nextInt();
map = new int[n][n];
for(int i = 0; i < n; i++){
String tmp = sc.next();
for(int j = 0; j < n; j++){
map[i][j] = tmp.charAt(j) - '0';
}
}
int mid = n / 2;
int valid = 1;
int sum = 0;
boolean oper = true;
for(int i = 0; i < n; i++){
for(int j = 0; j < valid; j++){
sum += map[i][mid + j];
}
if(oper){
mid --;
valid += 2;
oper = mid == 0? false: true;
}else{
mid ++;
valid -= 2;
}
}
System.out.println("#" +tc + " " + sum);
}
}
}
플래그 함수를 쓰는게 아니라 행의 절반으로 봐도 됨
valid 값말고 end와 start를 활용 가능함
import java.util.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int[][] map;
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++)
{
int n = sc.nextInt();
map = new int[n][n];
for(int i = 0; i < n; i++){
String tmp = sc.next();
for(int j = 0; j < n; j++){
map[i][j] = tmp.charAt(j) - '0';
}
}
int start = n / 2;
int end = n / 2;
int sum = 0;
for(int i = 0; i < n; i++){
for(int j = start; j <= end; j++){
sum += map[i][j];
}
if(i < n / 2){
start--;
end++;
}else{
start++;
end--;
}
}
System.out.println("#" +tc + " " + sum);
}
}
}
'알고리즘 - SWEA > D3' 카테고리의 다른 글
[SW expert Academy] SWEA 1289번 원재의 메모리 복구하기 자바(Java) (1) | 2023.10.26 |
---|---|
[SW expert Academy] SWEA 5215번 햄버거 다이어트 자바(Java) (0) | 2023.10.25 |
[SW expert Academy] SWEA 2806번 N-Queen 자바(Java) (0) | 2023.10.24 |
[SW expert Academy] SWEA 6730번 장애물 경주 난이도 자바(Java) (1) | 2023.10.24 |
[SW expert Academy] SWEA 4406번 모음이 보이지 않는 사람 자바(Java) (1) | 2023.10.24 |