두 문제의 차이점을 이해하시면 됩니다.
문제 3】 배달여부의 처음 두자리(처음 2바이트) 문자가 OK가 아니고 NO가 아닌 자료 중에서 (예약수량 * 예약금액) 값이 가장 큰 자료의 일련번호를 출력하시오. 가장 큰 값이 중복되는 경우는 일련번호가 큰 값을 출력하시오
=> 이 문제가 고급의 기본형이죠...중복될 경우 이하가 하나의 변수(일련번호)만 나옵니다.
문제 2】출발지 코드가 SU이고 승객만족도가 23 이하인 자료에 대하여 (월이용회수 * 여행거리)값의 자료 중에서 가장 큰 값의 도착지코드를 출력하되, 가장 큰 (월이용회수* 여행거리)값이 중복될 경우 중복자료 중 가장 작은 고객번호의 도착지코드를 출력하시오.
=> 이 문제는 고급유형에서 한 번더 꼬인 문제입니다. 보통 고급은 중복될 경우 이하에 하나의 변수만 명시하시면 이 문제는 명시한 변수의 무엇(도착지코드)을 출력하라고 하고 있습니다.
이와 같은 유형일 경우는 출력변수를 If 문에서 바로 추출하시면 됩니다.
>>05/5/8 오전 2번문제에서요~
>>
''''도착지코드 구하기 If 출발지코드 = "SU" And 승객만족도 <= 23 Then If 최대값 < (월이용회수 * 여행거리) Or _ (최대값 = (월이용회수 * 여행거리) And 최소고객번호 > 고객번호) Then 최대값 = 월이용회수 * 여행거리 최소고객번호 = 고객번호 도착지코드 = Trim(Mid(버퍼, 22, 2)) -> 고급 기본형에서 추가되었습니다. End If End If 이구요~
05/5/13 오후 3번문제는요~ If 배달여부 <> "OK" And 배달여부 <> "NO" Then If 최대값 < 예약수량 * 예약금액 Or _ (최대값 = 예약수량 * 예약금액 And 최대일련번호 < 일련번호) Then 최대값 = 예약수량 * 예약금액 최대일련번호 = 일련번호 End If End If
으로 윗 문제에서는 if문 안에 도착지코드 = Trim(Mid(버퍼, 22, 2)) 가 있었는데요~
아래 문제에서는 변수저장시에 일련번호 = Trim(Mid(버퍼, 1, 7)) 를 저장해줘야해요~ if 문안에 일련번호 = Trim(Mid(버퍼, 1, 7)) 를 저장하면 답이 틀리게 나와요~
윗 문제는 if 문 밖에 도착지코드를 저장하면 답이 틀리게 나오구요~
두 문제가 유형이 똑같은것 같은데 어디서 무엇을 저장해야 하는지 잘 모르겠어요~~ 가르쳐 주세요~~ ('''''''')(..)
|