ddogagi   5년 전




>예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.

=> 이부분은, 개별 소숫점 둘째자리에서 올림? 버림? 으로 계산했다는 건가요? 아니면, 소숫점 상관없이 다 합계한 뒤에 평균을 구한다음, 소숫점 2자리까지 구한다는 말인가요?


> 첫째 줄에 새로운 평균을 출력한다. 정답과의 절대/상대 오차는 10-2까지 허용한다.

=>  10-2 이라 함은, 3자리이하 버림, 3자리에서 사사오입, 3자리에서 올림 어느걸 말하는건지요.


왜 틀렸는지 잘 모르겠습니다. 알려주세요ㅠㅠ

portableangel   5년 전

50/70*100점이 되어 71.43점이 된다.

문제의 지문에 71.4285714285714285714285714285742857142857..점이 된다고 쓰기엔 너무 길어 그냥 축약한 내용입니다. 아주 정확한 값으로 계산된다고 보시면 됩니다.

정답과의 절대/상대 오차는 10-2까지 허용한다.

말 그대로, 어디까지 반올림/내림/올림해라 라는 뜻이 아닌, 정확한 정답이 X일 경우 0.99X 이상 1.01X 이하 또는 X-0.01 이상 X+0.01 이하인 임의의 실수를 출력하면 정답으로 인정된다는 뜻입니다. 예를 들어 지문의 예시처럼 71.42857142857142857... 점이 정답일 경우, 71.42점 또는 71.43점 중 아무 것이나 답이 될 수 있습니다. 이는 스페셜 저지 프로그램이 복수정답 채점을 할 수 있기에 가능합니다. 하지만 71.4를 출력하거나, 72를 출력할 경우, X=71.428571428571..일 때 [0.99X,1.01X]와 [X-0.01,X+0.01]의 범위 내에 들어오지 않는 값이므로 오답 처리됩니다.

올려주신 소스코드가 틀린 부분은, https://www.acmicpc.net/board/... 를 참고하시면 알 수 있습니다.

ddogagi   5년 전

> 올려주신 소스코드가 틀린 부분은, https://www.acmicpc.net/board/... 를 참고하시면 알 수 있습니다.

의 값으로 실행해봐도 정답이 출력되고 있는데, 틀렸다고 나옵니다ㅠㅠ

흑..

cubelover_dev   5년 전

2

10 9

scoreData의 원소들은 전부 문자열이기 때문에, 위와 같은 입력에서 max가 '10'으로 바뀐 다음, 사전순으로 봤을 때 '9'보다 작기 때문에 max에 '9'가 들어가게 돼서 답이 틀리는 것 같습니다. score를 정수로 바꾼 뒤 max에 대입하니 맞았습니다가 뜨네요.

cubelover_dev   5년 전

가장 좋은 방법은 PHP와 같은 아무렇게나 짜도 잘 동작하는 약타입 언어를 사용하지 않는 것이지만, 정말로 사용하시겠다면 기본 연산자가 타입에 따라 동작이 어떻게 바뀌는지를 전부 공부하고 사용하는 것이 좋을 것 같습니다.

startlink   5년 전

문제는 올리지 마세요

ddogagi   5년 전

오 문자 비교인걸 까먹고 있었네요

저는 PHP개발자입니다ㅋㅋㅋ 

JAVA로 입문해서 PHP로 전향하는데 처음엔 애를 먹었지만, 이젠 익숙해져서 이게 더 편하네요^^;

int로 변환해서 비교했더니 통과했습니다! 감사합니다!!

ddogagi   5년 전

@startlink

문제를 다 올려야 되는줄 알았습니다. 다음부턴 조심하겠습니다.


p.s. 말투가 단호박이시네요 

구글번역기나 자동프로그램이 대답한건 줄 알았습니다 ㅋㅋ

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