🗃️javascript/프로그래머스

문자열 다루기 기본[Lv.1]

하얀성 2023. 3. 16. 12:04

 

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

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예sreturn
"a234" false
"1234" true
문제가 잘 안풀린다면😢

힌트가 필요한가요? [코딩테스트 연습 힌트 모음집]으로 오세요! → 클릭


  • 공지 - 2022년 7월 22일 테스트케이스가 추가되었습니다.
  • 공지 - 2022년 7월 22일 제한 사항이 추가되었습니다.

<제출 코드>

function solution(s) {
    let arr = [...s]
    if(arr.length == 4 || arr.length == 6) {
    let arr1 = [];
    for(let i = 0; i<arr.length; i++) {
      let arr2 = Number.isInteger(arr[i] / 1)
       arr1.push(arr2)
    }
    return arr1.indexOf(false) == -1 ? true : false
    }
    else{
        return false
    }
  }

 

문제 원인 1

s는 문자열인데 자꾸 .length를 조건문에 사용해주니 안되는것.

문제 원인 2

문자열 길이가 4 혹은 6이 아닐경우 false를 출력해줘야 하는데 0을 출력해줘서.