570페이지에 알고리즘 해설에서 16번에 왜 J=1부터 해야하는지 이해가 안됩니다
1부터라고 하면 19번에 점수를 비교하는 부분에서 자기가 자기꺼랑 비교를 한번 하고 넘어가는 겁니까?
바로 J=2로 넣어서 두번째꺼랑 비교하면 안되는건가요?
그리고 8번에 CNT=CNT-1에서 마지막에 읽은 자료는 실제 자료가 아니므로 CNT에서 1을 차감한다는 말이 이해가 안되고 저 부분이 없으면 어떤 문제가 생기는지 모르겠습니다.
안녕하세요.
알고리즘을 구현하는 방법은 여러 가지가 있습니다.
점수를 비교해서 순위를 구하는 경우도
좀 더 복잡한 알고리즘을 사용하여 자신과는 굳이 비교를 하지 않도록 할 수 있습니다.
하지만 추가적인 비교 과정이 필요합니다.
물론 처음 학생은 비교 대상 위치를 2로 하여 자신의 비교를 배제할 수 있지만 이러한 과정을 다른 학생들에 공통적으로 적용해야 합니다. 이럴 경우 이후 학생들은 1번째 학생과 비교를 수행하지 못하게 됩니다.
이 알고리즘은 자기 자신과의 비교 과정이 의미는 없지만 일괄적인 반복 수행 작업에서 과정을 간단히 처리하기 위해 구현된 것으로 이와 같은 형태로도 출제될 수 있습니다.
파일에서 자료를 읽어와 처리하는 경우에는 EOF 명령으로 인해 파일의 끝을 파악하게 됩니다.
이 경우 파일의 끝을 파악하기 위해 읽어온 자료는 실제 자료가 아니지만 끝인지 파악하기 위해 한번 더 자료를 읽어오게 됩니다.
그러므로 읽어오는 횟수로 자료의 개수를 파악할 때 마지막 파일의 끝인지 읽어오는 횟수는 제외해야 실제 자료의 개수를 파악할 수 있습니다.
그래서 CNT를 실제 처리하기 전에 -1 해주는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-03-27 11:16:04
안녕하세요.
알고리즘을 구현하는 방법은 여러 가지가 있습니다.
점수를 비교해서 순위를 구하는 경우도
좀 더 복잡한 알고리즘을 사용하여 자신과는 굳이 비교를 하지 않도록 할 수 있습니다.
하지만 추가적인 비교 과정이 필요합니다.
물론 처음 학생은 비교 대상 위치를 2로 하여 자신의 비교를 배제할 수 있지만 이러한 과정을 다른 학생들에 공통적으로 적용해야 합니다. 이럴 경우 이후 학생들은 1번째 학생과 비교를 수행하지 못하게 됩니다.
이 알고리즘은 자기 자신과의 비교 과정이 의미는 없지만 일괄적인 반복 수행 작업에서 과정을 간단히 처리하기 위해 구현된 것으로 이와 같은 형태로도 출제될 수 있습니다.
파일에서 자료를 읽어와 처리하는 경우에는 EOF 명령으로 인해 파일의 끝을 파악하게 됩니다.
이 경우 파일의 끝을 파악하기 위해 읽어온 자료는 실제 자료가 아니지만 끝인지 파악하기 위해 한번 더 자료를 읽어오게 됩니다.
그러므로 읽어오는 횟수로 자료의 개수를 파악할 때 마지막 파일의 끝인지 읽어오는 횟수는 제외해야 실제 자료의 개수를 파악할 수 있습니다.
그래서 CNT를 실제 처리하기 전에 -1 해주는 것입니다.
오늘도 즐거운 하루 되세요.