TIL16-08 문자열 다루기

김태혁·2023년 1월 27일
0

TIL

목록 보기
57/205
  • 문제 설명
    문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
  • 풀이 과정
    • 주어진 문자열을 하나하나 확인하여 문자인지 숫자인 구분해보려 했다. 하지만 결과는 매번 실패했다.
let s = "a234"
let a = s.split("").map(Number);
console.log(typeof a[0] == "number");
//결과는 ture
    • 위처럼 배열을 숫자화 시켰지만 a[0] = NaN 라 타입이 숫자로 나온다. 이게 해결이 안 돼 시간이 많이 걸렸다.
    • 검색을 통해 힌트를 얻었고, 문자열에 숫자만 있다면 정수화를 시켜주고, 그 때 정수화가 되는지 안되는지를 보고, 문제를 해결하면 된다.
    • 아래 코드가 완성 된 코드이다.
function solution(s) {
    let a = parseInt(s); //s를 정수화, 문자 포함이면 NaN값
    if ( (s.length == 4 || s.length == 6) && s == a) {
        a = true ;   //s의 길이가 4또는 6이면서 s와 a가 같을때
    } else {
        a = false; 
    }
    return a; 
}
profile
도전을 즐기는 자

0개의 댓글