프로그래머스 lv.1 문자열 다루기 기본

J·2023년 6월 28일
0

programmers

목록 보기
28/33

문제 링크 - 문자열 다루기 기본


문제 설명

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

제한 사항

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

입출력 예

sreturn
"a234"false
"1234"true

풀이

  1. 오랜만에 정규식을 써볼 것임. 숫자로만 이루어져 있는지 확인하는 정규식을 만들어 변수에 할당.
  2. 문자열 s의 길이가 4 또는 6이고 정규식을 만족하는지 판별해 true, false 반환. test() 메서드 사용.

코드

function solution(s) {
    const regex = /^[0-9]+$/;
    return (s.length === 4 || s.length === 6) && regex.test(s);
}

다른 사람의 코드

function solution(s) {
    if(s.length != 4 && s.length != 6) return false;
    for(var i = 0; i < s.length; i++) {
        if(isNaN(Number(s[i]))) return false;
    }
    return true;
}
  • s의 길이가 4 혹은 6이 아닐 경우, false.
  • 다음 반복문을 돌려 숫자가 아닐 경우 false.
  • 위 두 조건을 만족하지 않는다면 true 반환.
  • 코드가 깔끔하고 보기에 좋음.
function solution(s){
    const regex = /^\d{6}$|^\d{4}$/;
    return regex.test(s);
}
  • 애초에 정규식으로 풀 거면 이렇게 풀 걸.
profile
벨로그로 이사 중

0개의 댓글

관련 채용 정보