문자열 다루기 기본

KSang·2023년 12월 6일
0

[Kotlin]코드카타

목록 보기
35/100

🕵️문제설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

⚠️제한조건

s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

🤔 알고리즘 생각해보기

toInt로 받으면 문자로 입력시 null이 되니까

이를 이용해 숫자로 이루어 졌는지 확인하는 방법

isDigit을 이용해 숫자인지 확인하는 방법이 생각났다

🔎 진행 과정

main

fun main() {
    while (true) {
        println("문자열을 입력해주세요")
        val s = readln()
        if (s.length !in 1..8){
            println("문자열 길이 1이상 8이하")
        }

        println("${solution(s)}")
    }
}

📌 toInt를 이용

solution

fun solution(s: String): Boolean {
    if (s.length !in 4..6) {
        return false
    }
    var answer = s.toIntOrNull() != null

    return answer
}

문자열이 4~6사이에 없을시 false 출력

answer가 null이 아닐시 true null(문자열이 섰였을때)일시 false 출력

📌 isDigit를 이용

solution

fun solution(s: String): Boolean {
    if (s.length !in 4..6) {
        return false
    }
    var answer = s.all { it.isDigit() }

    return answer
}

s의 모든 it이 isDigit(숫자)다 가 boolean타입으로 true or false로 출력

📌최종 결과

package com.example.codekata


fun main() {
    while (true) {
        println("문자열을 입력해주세요")
        val s = readln()
        if (s.length !in 1..8){
            println("문자열 길이 1이상 8이하")
        }

        println("${solution(s)}")
    }
}
fun solution(s: String): Boolean {
    if (s.length !in 4..6) {
        return false
    }
    var answer = s.all { it.isDigit() }

    return answer
}

0개의 댓글