tmt   3년 전

기말고사를 망친 세준이의 새로운 시험 점수를 조작하는 프로그램 입니다

예제 입력 1, 3, 5 는 정상적으로 되었지만 2, 4 은 각각 100, 310이 나옵니다

dldyddlwl   3년 전

아마 1546번 문제를 말씀하신 것 같습니다.

자 우선, 예제 2번 10 20 30 을 살펴봅시다.

c = 10 + 20 + 30 = 60이 나오겠죠?

c/=b 이므로, c = 20입니다.

그리고, 11번 for 반복문이 돌면서,

1) i == 0 인 경우, a[0] > a[0]이 아니므로, 넘어갑니다.

2) i == 1인 경우, a[1] = 20 > a[0] = 10 이므로, 20 / 20 * 100 = 100이 나옵니다.

우선 a[0]의 의도가 불분명합니다. 아마도 제가 생각하기에, a[i] 가 점수의 최댓값을 의도하신 것 같습니다.

그런데, a[0]보다 크다고 해서 a[i]가 반드시 이 배열 중에 최대의 값일지는 알 수 없습니다. 따로 알아내는 과정이 있어야겠죠!

그렇다면 맞은 예제는 왜 맞았을까요?

우연히도, a[0] 다음의 a[1]이 최댓값이기 때문에, 우연히, 최댓값으로 나눌 수 있었기 때문이죠! 이 경우를 조심해주세요

추신) b는 최대 1000까지 주어질 수 있습니다!

댓글을 작성하려면 로그인해야 합니다.