Notice
Recent Posts
Recent Comments
Link
COCO World
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 문자열 다루기 기본 본문
🍰 문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
🍰 제한 조건
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
🍰 입출력 예
sreturn
s | return |
"a234" | false |
"1234" | true |
🍰 작성 솔루션
: NaN은 숫자가 아님을 뜻하는 자료형
function solution(s) {
var answer = true;
if (isNaN(s)) { // s의 문자열이 NaN인 경우 false 반환
return false;
} else { // NaN에는 숫자 지수e는 걸러지지 않음
if (s.includes('e')) { // 따라서 s가 숫자로 이루어져있지만 지수e가 포함되어 있는 경우
return false; // false 반환
} else { // 이제 완벽하게 s의 문자열이 숫자로만 이루어져 있고,
if (s.length === 4 || s.length === 6) { // s의 문자열 길이가 4개 또는 6개 일 경우
return true;
} else { // 문자열의 길이가 4개 또는 6개가 아닐 경우
return false;
}
}
}
return answer;
}
🍰 시도했던 솔루션
1. 테스트는 통과, 정확도 96%이라 미달
: 찾아보니 이유는 자바스크립트에서의 숫자에 e가 붙은 지수 숫자도 문자열로 취급되어서 false를 반환하게 되기 때문
function solution(s) {
var answer = true;
if (isNaN(s)) {
return false;
} else {
if (s.length === 4 || s.length === 6) {
return true;
} else {
return false;
}
}
return answer;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 수박수박수박수박수박수? (0) | 2023.01.29 |
---|---|
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 서울에서 김서방 찾기 (0) | 2023.01.29 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 문자열 내 p와 y의 개수 (0) | 2023.01.29 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 내적 (0) | 2023.01.28 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 나누어 떨어지는 숫자 배열 (0) | 2023.01.28 |