프로그래머스 | 문자열 다루기 기본

imzzuu·2022년 4월 30일
0

문자열 다루기 기본


문제 설명

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

제한 사항

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

입출력 예

sreturn
"a234false
"1234”true

내 풀이


function solution(s) {
    if(s.length === 4 || s.length === 6){
      return s.split("").every((e)=> isNaN(+e) === false)  
    } else {
        return false
    }
}
  1. if 문을 통해 길이가 4개, 6개인 문자열을 골라낸다. 그렇지 않으면 false 를 반환
  2. if 문을 통과한 경우, 문자열이 들어갔는지 확인한다.
  3. 문자열을 쪼개서 배열에 넣고(split) ⇒ 문자열 됨
  4. 각 요소들에 (문자열)에 +를 붙여서 숫자로 만든다.
    1. 숫자 모습을 한 문자열 (1,2,3 등..) 에 숫자를 더하면 숫자가 됨
    2. 진짜 문자열에 숫자를 더하면 숫자이지만 숫자가 아닌 ****NaN이 됨
  5. every 함수를 통해 모든 원소가 NaN이 아닐 경우 (모두 찐 숫자인) ture, 하나라도 있으면 false 반환

어려웠던 점 및 느낀 점


문제를 제대로 안 읽고 테스트 5,6? 에서 계속 실패가 떴었다...ㅎㅎ

// 정확성 테스트 2개 실패 => 문자열 4개, 6개 인거 못찾아냄^^ 문제 제대로 안읽냐
function solution(s) {
    return s.split("").every((e)=> isNaN(+e) === false)
}

다시 읽어보니 s 는 1 이상 8 이하였던 것.... if 문을 추가하니 바로 통과~~!

그리고 11점 받음 꺄~ 인증! (무슨 기준인지는 모르겠으나 일단 기뻐하기ㅎㅎㅎㅎ)

0개의 댓글