Ye0ngJae

[CodeUp] 1535번 "함수로 가장 큰 값 위치 리턴하기" C언어 풀이 본문

알고리즘/C언어

[CodeUp] 1535번 "함수로 가장 큰 값 위치 리턴하기" C언어 풀이

Ye0ngJae 2022. 4. 12. 23:23
728x90

문제

배열에서 가장 큰 값이 처음 나타나는 위치를 출력하시오.

단, 함수형 문제이므로 함수 f()만 작성하시오.

 

입력 예시

5

1 3 2 1 3

출력 예시

2

 

답안

더보기

코드

※ 다른 코드는 이미 작성되어 있고, 함수 부분만 작성해야 함

 

int f() {
	int  max=0;
	for (int i = 0; i < n; i++) {
		if (max < d[i])
			max = d[i];
	}
	for (int i = 0; i < n; i++) {
		if(d[i] == max)
			return i + 1;
	}
	
}

풀이

f()함수 부분을 제외한 나머지 코드는 CodeUp에서 사전에 작성을 해주었기 때문에, f()함수 부분만 따로 추가적으로 작성을 해주었습니다.

문제에서 가장 큰 값이 처음 등장하는 위치를 출력하라고 나와 있었기 때문에,

max 변수를 이용하여 배열 중에서 가장 큰 값을 찾고, 다시 for문을 이용하여 순차적으로 max값과 d[i] 값을 비교해 max 값과 같은 배열 값이 확인되면 바로 해당 배열의 위치인 i+1 값을 리턴하도록 코드를 작성하였습니다.

728x90