기사 5월 4일 오후 기출 문제 보시면
※ 일련번호는 중복되어 있지 않으며 일련번호에 대해 오름차순 정렬되어 있다..
라고 되어있고 문제가 주어집니다...
문제1번과 문제2번에 조건에서 "동일값 발생시 일련번호 오름차순으로 정렬하시오"
라고 되어 있습니다...
저는 지문에서 일련번호 오름차순 정렬되어 있다고 해서 동일값 발생시의 일련번호
오름차순 정렬은 무시하고 코딩을 하였습니다...답은 똑같이 나오는데 무시해도 괜찮은건지 아니면 코딩을 해주어야 하는지 알고 싶습니다...
Sub main()
''필수 변수 선언 Dim 인수1, 인수2, K, 버퍼 As Variant ''핵심 변수 선언 Dim 지불금액, 예약수량, 예약금액, 합계(1000), 지불금액배열(1000), 일련번호(1000), P, Temp, Num As Variant ''인수 처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력 파일 처리 Open "c:\c_it\data\san0105.txt" For Input As #1 For K = 1 To 인수2 Line Input #1, 버퍼 If K >= 인수1 Then ''변수 저장 지불금액 = Val(Mid(버퍼, 48, 10)) 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''배열변수 구하기 If 지불금액 < 5000000 Then Num = Num + 1 합계(Num) = 예약수량 * 예약금액 지불금액배열(Num) = 지불금액 일련번호(Num) = Trim(Mid(버퍼, 1, 7)) End If End If Next K ''정렬(합계 오름차순 or (합계 같음 and 일련번호 오름차순)) For K = 1 To Num For P = K To Num If 합계(K) > 합계(P) Or _ (합계(K) = 합계(P) And 일련번호(K) > 일련번호(P)) Then Temp = 합계(K) 합계(K) = 합계(P) 합계(P) = Temp Temp = 지불금액배열(K) 지불금액배열(K) = 지불금액배열(P) 지불금액배열(P) = Temp Temp = 일련번호(K) 일련번호(K) = 일련번호(P) 일련번호(P) = Temp End If Next P Next K Close #1 ''출력 파일 처리 Open "c:\c_it\data\ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 지불금액배열(Num) Close #2 End Sub 글씨 색들어간 부분 생략해도 상관없는지요? |