문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
처음 내가 푼 방법
class Solution {
fun solution(s: String): Boolean {
val strList = s.toList()
for (item in strList) {
if (!item.isDigit()) {
return false
}
}
return true
}
}
두번째 시도 방법
class Solution {
fun solution(s: String): Boolean {
return s.all { it.isDigit() }
}
}
대체 뭐가 문제인지 감이 오지 않았습니다. 아무리 생각해봐도 문제를 잘 이해한것 같은데, 엄청 간단한것 같은데 왜 통과하지 않을까 계속 문제를 보았습니다. 그리고 문제에서 문자열 길이를 4 혹은 6이라고 언급하고 제한 사항에서는 문자열 길이가 1 ~ 8 이라고 해서 혹시 이걸 놓친걸까 하고 풀어보니..... 두둥...
세번째 시도 방법
class Solution {
fun solution(s: String): Boolean {
return if (s.length == 4 || s.length == 6) {
s.all { it.isDigit() }
} else {
false
}
}
}
다른 사람들은 어떻게 풀었는지 봤는데 간단해 보이는것 같으나 시간이 많이 소요되는 것들이 보여서 기록합니다.
다른 사람 풀이
fun solution(s: String) {
return (s.length == 4 || s.length == 6) && s.toIntOrNull() != null
}
반응형
'Dev > Algorithm' 카테고리의 다른 글
간만의 알고리즘 공부 - 23 (가장 가까운 같은 글자) (0) | 2024.07.29 |
---|---|
간만의 알고리즘 공부 - 22 (크기가 작은 부분문자열) (0) | 2024.07.28 |
간만의 알고리즘 공부 - 20 (부족한 금액 계산하기) (2) | 2024.07.23 |
간만의 알고리즘 공부 - 19 (직사각형 별찍기) (0) | 2024.07.21 |
간만의 알고리즘 공부 - 18 (내적) (0) | 2024.07.17 |