Logo
(追記) (追記ここまで)

두 소스간의 차이가 무엇인지 알고 싶습니다.

1440번 - 타임머신
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
 val time = readLine().split(":").map { it.toInt() }
 var count = 0
 for (h in 0 until 3)
 for (m in 0 until 3)
 for (s in 0 until 3) {
 if (h != m && m != s && s != h) {
 if (time[h] in 1..12) count++
 }
 }
 println(count)
}

<소스1.kotlin>

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
 val time = readLine().split(":").map { it.toInt() }
 var count = 0
 for (h in 0 until 3)
 for (m in 0 until 3)
 for (s in 0 until 3) {
 if (h != m && m != s && s != h) {
 if (time[h] in 1..12 && time[m] in 0..59 && time[s] in 0..59) count++
 }
 }
 println(count)
}

<소스2.kotlin>

소스1과 소스2는 각 9번째의 if문만 다릅니다.

예제에서는 모두 통과하지만, 채점에서는 <소스2>만 통과합니다.

2번소스 9번째 줄은

"시"[1 ~ 12] 숫자인지와 "분과 초"[0 ~ 59] 숫자인지 확인하는 것입니다.

허나 "분과 초"는 "시"를 포함한 주어진 모든 숫자를 포함한 것이므로,

불필요한 조건(&& time[m] in 0..59 && time[s] in 0..59)이라 생각하여 생략했는데

채점에서 틀리다고 나옵니다.

1번 소스의 경우는 어떤 부분 때문에 틀리다고 채점이 되는 걸까요?

문제에 따르면 12:99:99 와 같은 입력이 가능합니다.

@startlink 감사합니다!!

댓글을 작성하려면 로그인해야 합니다.

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /