자료구조 및 알고리즘/JavaScript Practice

JS Practice) 프로그래머스 Lv.1 : 문자열 다루기 기본

Ryomi 2023. 6. 20. 08:30
728x90
반응형

 

문자열 다루기 기본

문제설명 :

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

 

입출력 예

s Return
"a234" false
"1234" true

 

첫번째 접근

:  s의 길이가 4 또는 6일 때, 각 요소의 합을 구한 후, 합이 숫자이면 true 를 아니면 false를 반환한다. 나머지 경우는 false를 반환한다. 정확성 100으로 통과.

function solution(s) {
    if(s.length === 4 || s.length === 6){
        let result = s.split('').reduce((a,c) => a + (c * 1), 0)    
        return isNaN(result) ? false : true
    }    
    
    return false
}

 

 

두번째 접근

: isNaN()을 사용한다면, result를 따로 구하지 않아도 될 것 같다. 정확성 96.7로 통과.

function solution(s) {
    if(s.length === 4 || s.length === 6){
        return isNaN(s) ? false : true
    }    
    
    return false
}

 

 

solution

function alpha_string46(s){
    var regex = /^\d{6}$|^\d{4}$/;

  return regex.test(s);
}

 

728x90
반응형