본문 바로가기

백준 문제풀이/1차원 배열

백준 2562 C / 단계별로 풀어보기 - 1차원 배열 2

 

안녕하세요.

이번에는 2번째, 2562 번 최댓값 입니다. (BOJ 2562 C)

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

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

www.acmicpc.net

 

드디어 배열을 써 볼만한 문제가 나왔군요.

자연수니까, 0으로 초기화를 해줘도 되겠습니다.

9칸짜리 1차원 배열을 선언해주고, 값을 저장한 다음, 최댓값을 찾아주면 되겠습니다.

 

코드를 짜보면 이렇게 되겠군요.


#include <stdio.h>

int main()
{
	int arr[9] = { 0 };
	int i = 0, max = 0, target = 0;
	for (i = 0; i < 9; i++)
	{
		scanf("%d", &arr[i]);
		if (arr[i] > max)
		{
			max = arr[i];
			target = i + 1;
		}
	}
	printf("%d\n%d", max, target);
	return 0;
}

 

 

배열은 0번부터이므로, target 에 1을 더해줘야 되겠네요.

 

감사합니다.