Programmers

[프로그래머스] 문자열 다루기 기본 / Kotlin

yenne 2022. 2. 7. 23:39

https://programmers.co.kr/learn/courses/30/lessons/12918?language=kotlin 

 

코딩테스트 연습 - 문자열 다루기 기본

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

programmers.co.kr

문제

문제 설명

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

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s return
"a234" false
"1234" true

 

초기 코드

class Solution {
    fun solution(s: String): Boolean {
        var answer = true
        return answer
    }
}

 

의식의 흐름

1. 길이는 간단하고. 숫자로만 구성되어 있는지는 toInt()같은거 쓰고 exception 나면 처리하는건 어떨까?

 

해결 코드

class Solution {
    fun solution(s: String): Boolean {
        if (s.length == 4 || s.length == 6) {
            try {
                s.toInt()
                return true
            } catch (e: Exception) {
            }
        }
        return false
    }
}

 

아래는 코드는 더 간단하지만 오래걸린다. 어쨌건 이런 방법도 있다 .toIntOrNull() 

class Solution {
    fun solution(s: String): Boolean {
        if (s.length == 4 || s.length == 6) {
            return s.toIntOrNull() != null
        }
        return false
    }
}