Coding test
[프로그래머스] 문자열 다루기 기본 (Level 1)
Jiwoo
2022. 4. 6. 18:10
문제
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
- 제한 사항
s
는 길이 1 이상, 길이 8 이하인 문자열입니다.
나의 풀이
function solution(s) {
// 문자열 길이 == 4 or 6 확인
if (s.length == 4 || s.length == 6) {
for(let v of s) { // 요소 모두 숫자인지 확인
if(isNaN(v) == true) return false;
} return true;
} return false;
}
- 정확도 테스트 결과
다른 풀이
- 제일 간단한 풀이
function alpha_string46(s) { return s.length == 4 || s.length == 6 ? !isNaN(s) : false }
s가"1e22"
같은 지수형식이나 16진법수가 들어가면 예외가 발생한다.
완벽한 코드는 아니다.
- 정규식 활용 코드
function solution(s) { return /^[0-9]+$/.test(s) && [4,6].includes(s.length); }
(s.length === 4 || s.length === 6)
대신 includes로 짧게 줄일 수 있다는 것을 알아간다.