코딩/백준 문제 (브론즈)

[백준/2566/C언어] 최댓값 _ 풀이

룻밤 2023. 8. 22. 13:50

https://www.acmicpc.net/problem/2566

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int arr[9][9];
	int max = -1;		// 최댓값
	int max_i, max_j;	// 최댓값의 인덱스

	for (int i = 0; i < 9; i++) {
		for (int j = 0; j < 9; j++) {
			scanf("%d", &arr[i][j]);	// 행렬 채우기
			if (max < arr[i][j]) {		// 최댓값 구하기
				max = arr[i][j];
				max_i = i+1;	//문제에서 원하는 행렬은 최소 1행1열이므로 +1
				max_j = j+1;
			}
		}
	}
	printf("%d\n", max);
	printf("%d %d\n", max_i, max_j);
	return 0;
}

행렬을 봤을때 이차원배열이 떠올라야 한다.

이차원배열이 떠올랐으면 이중반복문도 쓰일것이라고 생각해야한다.