문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
🚫제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
❗입출력 예
s | return |
"a234" | false |
"1234" | true |
😀 내가 푼 답
function solution(s) {
if (s.length === 4 || s.length === 6) {
return s.split("").every((x) => !isNaN(x));
} else {
return false;
}
}
❗❗ 자바스크립트에서는 숫자뒤에 e가 있으면 지수로 인식하여 문자인 경우도 숫자로 인식하게 됨
많이 사용되지는 않지만 2000이란 숫자를 2e3으로 표기를 할 수 있음
- every()
- every() 메서드는 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트를 함
- Boolean값을 반환함
- 배열의 모든요소가 콜백함수에서 true값을 리턴해야 true값을 리턴함
=> 하나라도 false면 false를 리턴함
<=> some() 함수는 배열의 요소중 하나라도 콜백에서 true값을 리턴하면 true값을 리턴함
😊 문제풀이 답안 OR 다른사람들 답안
function alpha_string46(s){
var result;
if (s.length === 4 || s.length === 6) {
if (typeof Number(s) === "number"){
result = true;
} else {
result = false;
}
} else {
result = false;
}
return result;
}
// 2
function solution(s) {
if(s.length != 4 && s.length != 6) return false;
for(var i = 0; i < s.length; i++) {
if(isNaN(Number(s[i]))) return false;
}
return true;
}
// 3
function solution(s) {
if(s.match(/[a-zA-Z]/g)===null){
if(s.length===4 || s.length===6){
return true
}
return false;
} else{
return false
}
}
'공부 > 코딩테스트' 카테고리의 다른 글
Q. 수박수박수박수박수박수? (0) | 2023.06.19 |
---|---|
Q. 서울에서 김서방 찾기 (1) | 2023.06.19 |
Q. 행렬의 덧셈 (0) | 2023.06.17 |
Q. 나누어 떨어지는 숫자 배열 (0) | 2023.06.17 |
Q. 2016년 (0) | 2023.06.17 |