inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2-9. 격자판 최대합

206

감자도리

작성한 질문수 5

0

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.StringTokenizer;

public class Main{

	public int solution(int n, int[][] arr) {

		int answer = Integer.MIN_VALUE; // 최대값을 찾아야 하므로 MIN_VALUE; 사용

		int sum1; // 행의 합

		int sum2; // 열의 합

		for (int i = 0; i < n; i++) {

			sum1 = sum2 = 0; // 0행 0열 부터 구하기 위해 초기화

			for (int j = 0; j < n; j++) {

				sum1 += arr[i][j];

				sum2 += arr[j][i];

			}

			// 행과 열의 최댓값

			answer = Math.max(answer, sum1); // 각 행과 각 열의 계산 후

			answer = Math.max(answer, sum2); // 더 큰 값이 answer로 들어감

		}

		sum1 = sum2 = 0;

		for (int i = 0; i < n; i++) {

			sum1 += arr[i][i];

			sum2 += arr[i][n - i - 1];

		}

		answer = Math.max(answer, sum1);

		answer = Math.max(answer, sum2);

		return answer;

	}

	public static void main(String[] args) throws NumberFormatException, IOException {

		MainT = new Main();

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(br.readLine());

		StringTokenizer st;

		int[][] arr = new int[n][n];

		for (int i = 0; i < n; i++) {

			st = new StringTokenizer(br.readLine(), " ");

			for (int j = 0; j < n; j++) {

				arr[i][j] = Integer.parseInt(st.nextToken());

			}

		}

		System.out.println(T.solution(n, arr));

	}

}

안녕하세요 선생님 2.9에서 Main 메소드 부분에서 저는 BufferedReader를 사용했는데요

선생님께선 이중 for문을 사용하여 그 안에 scanner Int 를 사용하셨는데

for(int i = 0; i < n; i++) {

    for(int j = 0; j <n; j++){

        arr[i][j] = kb.nextInt();    

    }

}

이 것과 bufferedReader의 차이점은 nextInt()는 입력 즉시 배열의 인덱스에 넣어주는 것이고

BufferedReader는 StringTokenizer를 사용했기 때문에 한 번에 입력 받고 한 번에 넣어주기 때문에 서로의 반복문 사용법이 다르다고 이해했는데 제가 이해한게 맞을까요? 이상한 질문드려 죄송해요 ㅠㅠ

java 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

네. 맞습니다.

님의 코드는 BufferedReader를 통해 readLine()으로 한 줄씩 읽고 그걸 공백을 기준으로 분리하는 작업입니다.

 

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

41

2

갑자기 채점 사이트가 바뀌었어요

0

37

1

문제 리스트 페이지

0

31

1

채점 사이트 관련 질문드립니다

0

25

1

봉우리 문제 질문입니다

0

88

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

66

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

72

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

68

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

85

2

6-7 강의에서

0

48

1

6-6. 장난꾸러기 질문 있습니다.

0

46

1

강의 수강후 코딩테스트

0

111

1

answer 변수 사용 여부

0

48

1

2중 for문

1

85

2

2-11. 임시반장정하기 (Runtime Error)

0

63

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

70

1

이런 풀이는 어떨까요

0

45

1

자바 스트림 방식의 효율성 질문 드립니다.

0

60

1

알고리즘 자료 구조들..

0

63

1

StringBuilder vs BufferdWriter

0

50

1

원더랜드(프림)

0

51

1

이런 코드는 어떤가요?

0

62

1

bfs 풀이

0

57

1

병합정렬

0

58

1