whalstjr1313   2년 전

이거 제가 문제를 잘 이해를 못한거 같습니다.

이게 10 20 30이 주어지면

a = 10/30*100

b = 20/30*100 해서 나온 값들을 (a + b + 30)/3을 하는 문제가 아닌가요?

wizardrabbit   2년 전

안녕하세요!

1. 문제를 제대로 이해한 것이 맞나요?

자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 "모든 점수"를 점수/M*100으로 고쳤다.

문제에 의하면 모든 점수를 점수 / M * 100으로 고쳤다고 적혀 있습니다. 따라서 최댓값인 M 또한 점수를 점수 / M * 100  으로 고쳐야 합니다. 따라서 질문자님이 말씀하신 10점, 20점을 맞은 과목 뿐만 아니라 가장 높은 점수를 맞은 30점도 30 / 30 * 100 으로 고쳐야 합니다.

2. 왜 런타임 오류(ModuleNotFound)가 뜨나요?

해당 코드를 제출하신 결과 런타임 오류를 받으셨을 것입니다. 문법이 맞았고 문제만 잘못 이해해 잘못된 값이 나왔다면 틀렸습니다를 받아야 할텐데, 왜 런타임 오류인지 궁금해 하실 것 같습니다. 런타임 오류가 ModuleNotFound(모듈을 찾을 수 없음)임에 주목해 보세요.

이유는 바로 numpy를 import하셔서 그렇습니다. numpy 모듈은 파이썬에서 기본적으로 제공하는 표준 라이브러리가 아닌, 

pip install numpy

를 입력하셔야 설치할 수 있는 모듈입니다. 그렇기 때문에 백준 문제 제출에는 사용하실 수 없습니다. https://www.acmicpc.net/board/... 를 참고해 보세요.

그러니, numpy를 사용하지 않고 최댓값인 M도 공식을 적용하도록 코드를 바꾸시면 문제를 해결하실 수 있을 거라 생각됩니다!

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