[백준 2566] 최대값

alsry._.112·2023년 7월 30일
0

백준

목록 보기
8/102

🔗문제 풀러가기
단계별로 풀어보기 단계 7의 2번째 문제이다.

문제 분석

이차원배열을 이용하면 쉽게 풀 수 있다.

코드

#include <iostream>
#include <string>

using namespace std;

int main()
{
	int arr[9][9] = {0};

	int best = 0;
	int bestiPos = 0;
	int bestjPos = 0;

	for (int i = 0; i < 9; i++)
	{
		for (int j = 0; j < 9; j++)
		{
			cin >> arr[i][j];
		}
	}

	for (int i = 0; i < 9; i++)
	{
		for (int j = 0; j < 9; j++)
		{
			if (best <= arr[i][j])
			{
				best = arr[i][j];
				bestiPos = i + 1;
				bestjPos = j + 1;
			}
		}
	}

	cout << best << "\n";
	cout << bestiPos << " " << bestjPos;
}

해석

  1. 이차원 배열을 선언하여 이중 for문으로 입력받는다.
  2. 다시 2준 for문을 이용하여 arr[i][j]의 값이 지금까지 나온 값 중에 가장 크다면 arr[i][j]의 값과 i, j를 저장한다.
    이때 arr배열은 0부터 시작하므로 +1을 하여 저장한다.
  3. 이렇게 얻은 best와 i, j를 출력하면 끝!
profile
소통해요

0개의 댓글