아마 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까지 주어질 수 있습니다!
tmt 3년 전
기말고사를 망친 세준이의 새로운 시험 점수를 조작하는 프로그램 입니다
예제 입력 1, 3, 5 는 정상적으로 되었지만 2, 4 은 각각 100, 310이 나옵니다