본문 바로가기

코틀린

코틀린 : 2장 테스트에 도전해 보세요

쉽게 다가가는 최신 프로그래밍: 코틀린 - 2장 연산자와 흐름 제어를 완전히 이해했나요? 다음 문제를 풀어 보세요.

문제 1 아래 연산 결과는 어떤 값이 나올까요? 그 이유도 설명하세요.

fun main() {
    println(inStringRange("Kotlin"))
    println(inStringRange("kotlin"))
}

fun inStringRange(s: String): Boolean {
    return (s in "Java".."Scalar")
}

 

문제 2 (프로그래밍)String 클래스의 확장 함수로 해당 문자열의 마지막 문자를 가져오는 lastChar()를 정의하세요. 단, String 타입 객체가 널(null)일 수도 있음을 고려해야 합니다. 아래 2개를 테스트 변수로 사용하세요.

    val s: String = "Kotlin"
    val s2: String? = null

 

문제 3 (프로그래밍) repeat() 함수를 사용해 문자열 "Hello, Kotlin!"을 5번 출력하세요. 인터넷 검색을 통해 repeat() 함수 사용법을 찾아보세요.

문제 4 (프로그래밍) 10진수를 16진수로 변환하는 함수를 when 식을 사용해 만드세요. 아래 코드에서 함수 convertHexDigit()를 완성하면 됩니다.

fun main() {
    for (i in 8..12) {
        println(convertHexDigit(i))
    }
}

fun convertHexDigit(n: Int): Char { // 미완성 코드
}

 

문제 5  (프로그래밍) 여러 백화점의 개장 시간 및 폐장 시간에 관한 정보를 enum 클래스로 선언했습니다. when 식을 사용해 만드세요. 아래 코드에서 함수 isOperatingHours()를 완성하면 됩니다. enum 클래스에 필요한 메소드를 선언해도 됩니다.

enum class MallInfo(val opens: Int, val closes: Int) {
    HYUNDAI(10, 20),
    LOTTE(11, 21),
    SHINSEGYE(9, 19)
}

fun main() {
    println(isOperatingHours(MallInfo.LOTTE, 9))
    println(isOperatingHours(MallInfo.HYUNDAI, 21))
}

fun isOperatingHours(mall: MallInfo, h: Int): Boolean { // 미완성 코드
}

 

문제 6 (프로그래밍) 교재 p.97-p.99의 BMI(Body Mass Index)를 구하는 예제에서는 조건식을 사용합니다. in 연산자를 사용하는 코드로 변경하세요. 소수점 자릿수를 제한하기 위한 DecimalFormat() 함수를 사용해야 합니다.