2024_최신기출문제_2023년상시02
-4. 연체일 계산 0/6
-결과 X
답은 똑 같이 나오는것 같은데
이렇게 풀면 틀린건가요?
안녕하세요.
작성하신 방법도 논리적으로는 같은 결과가 나오므로 틀렸다고 볼 수 없습니다.
교재는 다음과 같이 작성했습니다.
If 납부일 <= 기준일 Then
fn연체일 = "정상납부"
Else
fn연체일 = 납부일 - 기준일 & "일 연체"
End If질문하신 방법은
If 납입일 <= 기준일 Then
fn연체일 = "정상납부"
ElseIf 납입일 > 기준일 Then
fn연체일 = 납입일 - 기준일 & "일 연체"
End If인데, 첫 번째 조건 납입일 <= 기준일이 거짓이라면 날짜값이 정상적으로 입력되어 있다는 전제에서 이미 납입일 > 기준일인 경우밖에 남지 않습니다. 따라서 ElseIf 납입일 > 기준일 Then을 한 번 더 검사할 필요가 없는 것입니다.
즉,
교재: ≤ 기준일 → 정상 / 그 외 → 연체
작성: ≤ 기준일 → 정상 / > 기준일 → 연체로 이 문제에서는 결과가 같습니다.
다만 문제에서 **“IF ~ ELSE문 사용”**이라고 명시했기 때문에 시험에서는 교재처럼 If ~ Else ~ End If로 작성하는 것을 권장합니다. ElseIf도 If문의 구성 요소이기는 하지만, 문제에서 굳이 IF ~ ELSE문을 지정했다면 불필요하게 다른 구조로 작성할 이유가 없습니다.
그리고 질문에 적어주신 코드에는 마지막의
End Function이 보이지 않는데, 실제 작성 시에는 반드시 있어야 합니다.
결론적으로 작성하신 조건 논리는 맞지만, 시험에서는 지시사항을 가장 직접적으로 충족하는 If ~ Else ~ End If 형태로 작성하는 것이 안전합니다.
즐거운 하루 되세요.
-
관리자2026-08-25 10:18:23
안녕하세요.
작성하신 방법도 논리적으로는 같은 결과가 나오므로 틀렸다고 볼 수 없습니다.
교재는 다음과 같이 작성했습니다.
If 납부일 <= 기준일 Then fn연체일 = "정상납부" Else fn연체일 = 납부일 - 기준일 & "일 연체" End If질문하신 방법은
If 납입일 <= 기준일 Then fn연체일 = "정상납부" ElseIf 납입일 > 기준일 Then fn연체일 = 납입일 - 기준일 & "일 연체" End If인데, 첫 번째 조건
납입일 <= 기준일이 거짓이라면 날짜값이 정상적으로 입력되어 있다는 전제에서 이미납입일 > 기준일인 경우밖에 남지 않습니다. 따라서ElseIf 납입일 > 기준일 Then을 한 번 더 검사할 필요가 없는 것입니다.즉,
교재: ≤ 기준일 → 정상 / 그 외 → 연체 작성: ≤ 기준일 → 정상 / > 기준일 → 연체로 이 문제에서는 결과가 같습니다.
다만 문제에서 **“IF ~ ELSE문 사용”**이라고 명시했기 때문에 시험에서는 교재처럼
If ~ Else ~ End If로 작성하는 것을 권장합니다.ElseIf도 If문의 구성 요소이기는 하지만, 문제에서 굳이IF ~ ELSE문을 지정했다면 불필요하게 다른 구조로 작성할 이유가 없습니다.그리고 질문에 적어주신 코드에는 마지막의
End Function이 보이지 않는데, 실제 작성 시에는 반드시 있어야 합니다.
결론적으로 작성하신 조건 논리는 맞지만, 시험에서는 지시사항을 가장 직접적으로 충족하는
If ~ Else ~ End If형태로 작성하는 것이 안전합니다.즐거운 하루 되세요.