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

ssjeu·2022년 5월 19일
0

Algorithm

목록 보기
13/14

문제 설명

문자열 다루기 기본

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

제한조건

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

입출력 예

sreturn
"a234"false
"1234"true



문제 풀이

Solution 1)

function solution(s) {
    return (s.length === 4 || s.length === 6) && s == parseInt(s);
    
}
  • 숫자로만 구성되어있는지 확인 아이디어!
    -> parseInt(s)된 값과 비교

    isNaN(), Number() 은 안되는 이유
    5.1153, 지수 형태인 경우도 false로 출력해야되기 때문

    ``` // 출력되지 않은 코드
    function alpha_string46(s) {
    	return s.length == 4 || s.length == 6 ? !isNaN(s) : false }
    ```
  • 근데 '==='이 아닌 '=='을 사용해야지만 정답 처리되는 이유는?
    -> '==' 서로 다른 유형의 두 변수의 값만 비교 (값 -> true) ( 자료형은 판단하지 않는다 )
    -> '===' 더 엄격하게 비교 (값 & 자료형 -> true) ( 권장사항 )

Solution 2)

function alpha_string46(s){
  var regex = /^\d{6}$|^\d{4}$/;
  return regex.test(s);
}

- 정규식

정규식 설명 관련 영상

0개의 댓글