개발/코딩테스트
[프로그래머스 | 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