본문 바로가기
코딩/백준

[BOJ / 백준] 2562 최댓값 - C언어

by 김두루미 2022. 8. 3.
반응형

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

 

2562번: 최댓값

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

www.acmicpc.net

문제 설명

입력받은 9개의 자연수 중에서 가장 큰 값을 찾고, 이와 동시에 몇 번째인지도 출력하는 문제입니다.

 

이전의 10818 최소, 최대 문제에서 최대값을 구하는 것과 동일한 방식으로 해결하였습니다. 몇 번째인지는 반복문의 i의 값을 활용하여 해결하였습니다.

 

max 값이 이번의 새로운 값으로 갱신된다면, max 값을 갱신하고 동시에 몇 번째인지 저장하는 변수 index에 i 값을 대입하여주었습니다.

코드 (C언어)
#include <stdio.h>

int main(void)
{
	int i, n, num, max = 0, index;

	for(i = 1; i <= 9; i++)
	{
		scanf("%d", &num);
		
		if(max < num)
		{
			max = num;
			index = i;
		}
	}
	
	printf("%d\n%d", max, index);
	
	return 0;
}

 

# 배열을 통해 푸는 경우 배열의 index 는 0부터 시작하기 위해, for 문 초기식에 i = 0 으로 작성하였습니다.

i가 0~8까지 반복을 하므로 실제 번째 수와 1씩 차이가 나므로, i+1의 값을 index 변수에 대입하여 해결하였습니다.

 

#include <stdio.h>

int main(void)
{
	int i, n, num[10], max = 0, index;

	for(i = 0; i < 9; i++)
	{
		scanf("%d", &num[i]);
	}
	
	for(i = 0; i < 9; i++)
	{
		if(max < num[i])
		{
			max = num[i];
			index = i+1;
		}
	}
	
	printf("%d\n%d", max, index);
	
	return 0;
}

 

반응형