Home > Study > C Language > C Example > [ex72] 합이 가장 큰 행과 열 찾기

[ex72] 합이 가장 큰 행과 열 찾기
Study Language

문제 설명


2차원 배열에서 합이 가장 큰 행과 열의 번호를 각각 인쇄하라

#include <stdio.h>
void main(void)
{
	// 코드 작성
}

입력 설명


첫 줄에 정수 N(2<=N<=5)이 다음 줄부터 N개의 정수가 N줄에 걸쳐서 입력된다

입력 예시


5
3 -5 12 3 -21
-2 11 2 -7 -11
21 -21 -34 -93 -11
9 14 39 -98 -1
-2 -2 -2 -2 -2

출력 예시


2 1

정답 코드


#include <stdio.h>
int N;
int a[5][5];

void input(void)
{
	int i, j;
	scanf("%d", &N);
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N; j++)
		{
			scanf("%d", &a[i][j]);
		}
	}
}

void main(void)
{
	int i, j;
	int sum = 0, max_sum = 0;
	int max_r, max_c;

	input();

	// 코드 구현
	for (i = 0; i < N; i++)
	{
		sum = 0;
		for (j = 0; j < N; j++)
		{
			sum += a[i][j];
		}
		if (i == 0)
		{
			max_sum = sum;
			max_r = 0;
		}
		else if (sum > max_sum)
		{
			max_sum = sum;
			max_r = i;
		}
	}


	for (j = 0; j < N; j++)
	{
		sum = 0;
		for (i = 0; i < N; i++)
		{
			sum += a[i][j];
		}
		if (j == 0)
		{
			max_sum = sum;
			max_c = 0;
		}
		else if (sum > max_sum)
		{
			max_sum = sum;
			max_c = j;
		}
	}

	printf("%d %d", max_r + 1, max_c + 1);
}

메모


printf 내부의 \n 습관화 필요