[알고리즘] 프로그래머스 Javascript - 문자열 다루기 기본

HJ·2022년 1월 19일
0

JavaScript

목록 보기
26/45

문제 설명

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

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn
"a234"false
"1234"true

문제 풀이

function solution(s) {
    return (s.length===4 || s.length===6) && /^[0-9]+$/.test(s); //s의 길이가 4 or 6인지 판단, 그리고 test메서드로 문자열에 숫자가 있는지 확인 후 반환
}

이번 문제는 사실 숫자가 있는지만 판별하면 되겠구나 생각하고 Number를 써서 하단과 같이 풀다가 "1234"값의 true만 return되고 나머지도 계속 true라고 나와서 실패하다가, 결국은 답을 찾아보았다.
(나의 코드 - 실패)

function solution(s) {
    var answer = true;

    for (let i = 0; i < s.length; i++) {
        if (s.length !== s[i].includes(Number)){
            answer = true;
        } else {
            answer = false;
        }
    }

    return answer;
}

정규표현식 너무 어렵다... 이해하려고 애써봤는데도 너무 표현식이 많아서 복잡하다.
그래도 여기 보면 정리가 잘 되어있어서 공유:
https://curryyou.tistory.com/234

test()메서드도 잘 알아두자.
주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환한다.

0개의 댓글