개발/코딩테스트

[프로그래머스 | JavaScript] 문자열 다루기 기본

prpn97 2023. 4. 28. 20:36

<문제 설명>

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

 

<입출력 예>

s return
"a234" false
"1234" true

<문제 풀이>

function solution(s) {
    let strTostar = s.replace(/[a-zA-Z]/g,'*')

    if(strTostar.includes('*') && strTostar.length !==4 || strTostar.includes('*') && strTostar.length !==6 ){
        return false
    }else if(strTostar.length !==4 && strTostar.length !==6 ){
        return false
    }else return true
    
}

입출력 예를 살펴보면, 알파벳과 숫자가 모두 문자열로 되어 있다. 

정규식을 사용하여 알파벳은 모두 *로 바꿔주었고,

*이 있으면서 문자열의 길이가 4가 아닌 경우,

*이 있으면서 문자열의 길이가 6이 아닌 경우,

문자열의 길이가 4가 아닌 경우,

문자열의 길이가 6이 아닌경우 false를 반환, 

그 외에는 true를 반환했다. 

 

<코멘트>

굳이 *로 바꾸지 않더라도 includes 할 때 알파벳 자체가 포함되어 있으면. 

이렇게 조건문을 쓰는 방법이 있을 것 같은데, 찾아봐야겠다. 

지금은 프로젝트에 열심을 다하고 있어서 어려운 문제 풀 엄두가 안나는데,

그래도 1단계에서 정답률이 높은 문제는 막힘없이 바로바로 풀리는 것 같아 기분이 좋다. 

728x90