문제 2 】문제 1번의 월이용횟수가 홀수이고 도착지코드가 KY인 자료에 대하여 (승객만족도 + 여행거리)값중 가장 작은 고객번호값 을 출력하되, 만약 가장 작은 (승객만족도 + 여행거리)값이 중복될 경우 중복 자료중 가장 큰 고객번호를 출력하시오.
====================================================================
일단...문제를 풀어서 다시 설명드리겠습니다.
(승객만족도 + 여행거리)값중 가장 작은 고객번호값 을 출력하되
=> 최소고객번호를 출력하라는 것이 아닙니다. 승객만족도+여행거리의 값이 가장 작을때의 고객번호를 출력하라는 뜻입니다.
만약 가장 작은 (승객만족도 + 여행거리)값이 중복될 경우 중복 자료중 가장 큰 고객번호를 출력하시오.
=>출력되어야 할 변수는 최대고객번호 입니다.
동영상 강의 문제는 고객번호가 가장 큰 도착지번호를 출력하는 것인데...
이것은 처음에 최소값의 고객번호값이랑, 최대고객번호를 출력하라니까
변수를 어떻게 해야 될지 모르겠어요...
최대고객번호,최소고객번호 둘다 선언해야 하는지
=> 핵심이 되는 변수는 최대고객번호 입니다. (최소고객번호는 아닙니다.)
If (월이용횟수 Mod 2) = 1 And 도착지코드 = "KY" Then If 최소값 > 승객만족도+여행거리 Or _ (최소값 = 승객만족도+여행거리 And 최대고객번호 < 고객번호) Then 최소값 = 승객만족도+여행거리
최대고객번호 = 고객번호 도착지코드 = Trim(Mid(버퍼, 22, 2)) End If
이 소스에서 도착지 부분만 빼고 출력은 최대고객번호를 하는건가요...
=> 맞습니다.
문제는 최소고객번호를 출력하라고 했는데...
=> 문제는 최대고객번호를 출력하는 겁니다. 위 소스에서 빨간색 부분만 삭제하시면 됩니다. 그리고 출력파일 처리에서는 최대고객번호를 출력해야 합니다.
|