¾Æ¹«¸® ºÁµµ Á¤´äÇÏ°í ¼Ò½º°¡ °°°Ô ÀԷµǾú°Åµç¿ä
1¿¡¼10 Àμö Á÷Á¢ °Ë»êÇßÀ»¶§µµ °ªÀÌ °°°Ô ³ª¿Ô±¸¿ä
±Ùµ¥ 100 200 Àº °á°ú°ªÀÌ ¾à°£ ´Ù¸£°Ô »êÁ¤ÀÌ µÇ´Âµ¥ ¿Ö ±×·¯´ÂÁö ¸ð¸£°Ú½À´Ï´Ù
¼Ò½º°¡ °°Àºµ¥ ÀÌ·±ÀÏÀÌ ÀÖÀ»¼ö°¡ ÀÖÀ»±î¿ä ¼±»ý´Ô Á¦¹ß µµ¿ÍÁÖ¼¼¿ä ³¾ ¼ÉÀε¥ ¤Ì¤Ì
Option Explicit
Sub main()
''Çʼöº¯¼ö¼±¾ð
Dim Àμö1, Àμö2, i, ¹öÆÛ As Variant
''Çٽɺ¯¼ö¼±¾ð
Dim ÅëÇÐÄÚµå, ¿µ¾îÁ¡¼ö, ¼öÇÐÁ¡¼ö, Çйø(1000), ÇÕ°è(1000), j, Temp, Num As Variant
''Àμöó¸®
Àμö1 = Val(Left(Command, InStr(Command, " ")))
Àμö2 = Val(Mid(Command, InStr(Command, " ")))
''ÀÔ·ÂÆÄÀÏó¸®
Open "c:\c_it\data\res0105.txt" For Input As #1
For i = 1 To Àμö2
Line Input #1, ¹öÆÛ
If i >= Àμö1 Then
''º¯¼öÀúÀå
ÅëÇÐÄÚµå = Trim(Mid(¹öÆÛ, 16, 1))
¿µ¾îÁ¡¼ö = Val(Mid(¹öÆÛ, 20, 3))
¼öÇÐÁ¡¼ö = Val(Mid(¹öÆÛ, 23, 3))
''¹è¿º¯¼ö±¸Çϱâ
If ÅëÇÐÄÚµå = "A" Or ÅëÇÐÄÚµå = "B" Then
Num = Num + 1
ÇÕ°è(Num) = ¼öÇÐÁ¡¼ö + ¿µ¾îÁ¡¼ö
Çйø(Num) = Val(Mid(¹öÆÛ, 1, 6))
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
Temp = ÇÕ°è(i)
ÇÕ°è(i) = ÇÕ°è(j)
ÇÕ°è(j) = Temp
Temp = ÇÕ°è(i)
ÇÕ°è(i) = ÇÕ°è(j)
ÇÕ°è(j) = Temp
End If
Next j
Next i
Close #1
''Ãâ·ÂÆÄÀÏó¸®
Open "c:\c_it\data\ans1.txt" For Output As #2
Print #2, Àμö1, Àμö2, Çйø(5)
Close #2
End Sub