가수면
[Javascript] 문자열 다루기 기본 본문
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
"a234" | false |
"1234" | true |
코드 과정
function solution(s) {
var answer = s * 1;
return answer === NaN ? false : true
}
분명 맞는데 이상하게 나와서 한참을 헤매다가 아래 코드로 수정하니 정상작동하기 시작했다.
function solution(s) {
var answer = s * 1;
return isNaN(answer) ? false : true
}
(차이가 뭐지...?)
길이 4, 6의 조건을 추가한 코드
function solution(s) {
return s.length === 4 || s.length === 6 ? (isNaN(s * 1) ? false : true) : false
}
그런데 11번이 걸린다. 반례로 3e10같은 건 'e'가 수학 기호 같은 거라 계산이 되어 숫자로 나온다는 얘기 같다.
그렇게 내가 쓴 최종 코드
function solution(s) {
let answer = s.replace('e','a')
return s.length === 4 || s.length === 6 ? ((isNaN(answer * 1)) ? false : true) : false
}
'CS > 코딩 테스트' 카테고리의 다른 글
[Javascript] 수박수박수박수박수박수? (0) | 2022.11.22 |
---|---|
[Javascript] 서울에서 김서방 찾기 (0) | 2022.11.21 |
[Javascript] 문자열 내 p와 y의 개수 (0) | 2022.11.21 |
[Javascript] 내적 (0) | 2022.11.21 |
[Javascript] 나누어 떨어지는 숫자 배열 (0) | 2022.11.21 |
Comments