| | | 제 목 | 기사 실기 고급형 문제관련 질문드립니다. | | | 글쓴이 | ursine | 작성일 | 2005-05-07 | 조회수 | 594 | | | 글공유 | |
| | | 5월 4일 문제와 관련하여 질문 드립니다.. 고급형 문제의 경우...
"(A+B)=합계(Num)"의 값을 "오름차순" 정렬하여... 가장 "마지막 값"을 출력하시오
이런 문제가 있는데요, 이 경우 "오름차순의 마지막 값"은 "내림차순의 최초 값"이 되니까..
코딩을 할 때... 내림차순을 구하여 "합계(1)"로 결과를 구해도 답은 동일하게 나오던데요..
실제 시험에서도 "오름차순의 마지막 값"과 "내림차순의 최초값"을 같은 것으로 취급하여 코딩해도 될런지요?
========================= Option Explicit Sub Main() ''''필수 Dim 인수1, 인수2, i As Long Dim 버퍼 As String
''''핵심 Dim 지불금액, 예약수량, 예약금액, 곱(1000), 지불액(1000), Temp1, Temp2, Num, j As Long ''''인수 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
''''입력 Open "d:\c_it\data\오후\abc0504.txt" For Input As #1 ''''최소값
For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then
''''핵심코딩 지불금액 = Val(Mid(버퍼, 48, 10)) 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10))
If 지불금액 < 5000000 Then Num = Num + 1 곱(Num) = 예약수량 * 예약금액 지불액(Num) = Val(Mid(버퍼, 48, 10)) End If End If Next i ''''정렬 For i = 1 To Num For j = i To Num If 곱(i) < 곱(j) Or 곱(i) = 곱(j) And 지불액(i) < 지불액(j) Then
Temp1 = 곱(i) 곱(i) = 곱(j) 곱(j) = Temp1
Temp2 = 지불액(i) 지불액(i) = 지불액(j) 지불액(j) = Temp2
End If Next j Next i
Close #1 ''''출력 Open "d:\c_it\data\오후\ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 지불액(1) Close #2 End Sub
| |
|
|