[프로그래머스] Lv. 1 문자열 다루기 기본(Kotlin)

hxeyexn·2023년 4월 12일
0

[프로그래머스] Lv. 1

목록 보기
23/26
post-thumbnail

문자열 다루기 기본

문제 설명

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

제한 사항

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

풀이

class Solution {
    fun solution(s: String): Boolean {
        var answer = true
        
        if( (s.length == 4) || (s.length == 6) ) {
            answer = s.all { it -> it.isDigit() }
        }
        else answer = false
        
        return answer
    }
}
  • all
    : 모든 원소가 조건을 만족하면 true 반환

  • isDigit
    fun Char.isDigit(): Boolean
    : 문자가 숫자이면 true 반환

다른 사람 풀이1

class Solution {
    fun solution(s: String) = (s.length == 4 || s.length == 6) && s.toIntOrNull() != null
}
  • toIntOrNull()
    fun String.toIntOrNull(): Int?
    : 문자열을 Int 숫자로 구문 분석하고 문자열이 숫자의 유효한 표현이 아닌 경우 결과 또는 null을 반환

다른 사람 풀이2

class Solution {
    fun solution(s: String): Boolean 
    {
        val length = s.filter { it.isDigit() }.length
        return (length == 4 || length == 6) && length == s.length
    }
}

다른 사람 풀이3

class Solution {
    fun solution(s: String): Boolean {
        return s.all { it.isDigit() } && ((s.length == 4) || (s.length == 6))
    }
}
profile
Android Developer

0개의 댓글