<문제 설명>
문자열 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
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스 | JavaScript] 최대공약수와 최소공배수 간결 풀이 (0) | 2023.04.29 |
---|---|
[프로그래머스 | JavaScript] 행렬의 덧셈 (0) | 2023.04.29 |
[프로그래머스 | JavaScript] 부족한 금액 계산하기 (0) | 2023.04.27 |
[프로그래머스 | JavaScript] 약수의 개수와 덧셈 (0) | 2023.04.24 |
[프로그래머스 | JavaScript] n의 배수 (0) | 2023.04.23 |