본문 바로가기
알고리즘/백준 문제 풀이

[BOJ/백준] 2566번 최댓값 - [c/c++] 풀이

by 미니상미니 2023. 6. 4.
반응형

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

 

2566번: 최댓값

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

www.acmicpc.net

 

 

 

 


  • 문제


해설

9 x 9 이차원 배열을 입력 받고 가장 큰 수와 위치를 출력하면 된다.

배열을 만들지 않고 변수 하나로 입력 받으면서 최댓값을 찾아주었다.
인덱스인 0, 0과 달리 1,1부터 시작이므로 유의 해야 한다.

 

모든 수가 0일 경우도 있기 때문에 아래 코드에서는 max 변수는 0이 아닌 -1로 초기화 해야 한다.

 

코드

c

#include <stdio.h>

int a, x, y;
int maxi = -1;


int main() {

	for (int i = 1; i <= 9; i++) {
		for (int k = 1; k <= 9; k++) {
			scanf("%d", &a);

			if (maxi <= a) {
				maxi = a;
				x = i;
				y = k;
			}
		}
	}

	printf("%d \n%d %d", maxi, x, y);

	return 0;
}

 

c++

#include <iostream>

using namespace std;

int a, x, y;
int maxi = -1;


int main() {

	for (int i = 1; i <= 9; i++) {
		for (int k = 1; k <= 9; k++) {
			cin >> a;

			if (maxi <= a) {
				maxi = a;
				x = i;
				y = k;
			}
		}
	}

	cout << maxi << '\n';
	cout << x << ' ' << y;

	return 0;
}

 

 

 

 

 

반응형

댓글