반응형
[프로그래머스]문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수,
solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
1차 시도
function solution(s) {
const len = s.length;
if (len === 4 || len === 6) {
return !isNaN(n);
}
return false;
}
처음에 위처럼 풀었는데 테스트 케이스 11번 에서 걸리더라구요.
아마 소수점 표현 "0.01" 이나 "1e22" 같은 지수 표현이 문제가 생기는거 같아요.
뭐 문제 자체가 좋은 문제는 아니였던거 같습니다^^
추가로 정규표현식으로 푸는 분들이 많으실텐데 개인적으로는
아무리 코드가 짧아진다고 하더라고 정규 표현식을 사용하는건 지양합니다.
이유는 간단하게 말하면 가독성때문인데요.
코드는 최대한 누구라도 알아보기 쉽게 만드는걸 지향하고 논리적으로 읽혀야 되는데 정규표현식은 그렇지 못하기때문이죠
최종 풀이
function solution(s) {
const len = s.length
if(len === 4 || len === 6){
return s.split("").every((c)=>!isNaN(c))
}
return false
}
반응형
'개발관련 > 매일 코딩 테스트 챌린지' 카테고리의 다른 글
[프로그래머스] 수박수박수박수박수박수? (javascript) (0) | 2020.08.24 |
---|---|
[코딜리티] GenomicRangeQuery (javascript) (0) | 2020.08.24 |
[JAVASCRIPT] 코딜리티 CountDiv (0) | 2020.08.23 |
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2020.08.21 |
[자바스크립트] 코딜리티 Perm Check 풀이 (0) | 2020.08.20 |