반응형
Notice
Recent Posts
Archives
Today
Total
Link
관리 메뉴

꾸준하게

[JS코테] 문자열 다루기 기본 본문

JS코딩테스트

[JS코테] 문자열 다루기 기본

DaeunCoding 2023. 4. 28. 11:37
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12918

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


[나의 풀이]

function solution(s) {
    let answer = s.split('').filter(x => x === Number(x).toString());
    return answer.length === s.length ? true : false;
}


s를 글자 기준으로 나눠서 배열로 바꾸고,
숫자가 적힌 문자열만을 필터링해서
그 배열의 길이와 s의 길이가 같으면 true,
다르면 s에 문자가 들어간 것이므로 false를 반환한다.

결론적으론, 정확성 86프로로 실패했다.

자세히는 내일 다시 확인해봐야겠다.

 


다시 확인해보니, 문제를 제대로 읽지 않았다.

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수

 

true의 조건이 '문자열의 길이가 4 혹은 6' && '숫자로만 구성'이다.

 

그래서 if문으로 조건을 추가해주었다.

 

[나의 풀이]

function solution(s) {
    if(s.length !== 4 && s.length !== 6) {
        return false;
    } else {
        let answer = s.split('').filter(x => x === Number(x).toString());
        return answer.length === s.length ? true : false;
    }
}

이렇게 수정하니, 채점 결과 통과되었다.

 

function solution(s) {
    return s.includes('e') || s.length !== 4 && s.length !== 6 ? false : !isNaN(s);
}

 

* s.includes('e')

지수형식일 경우를 대비함

 

* isNaN(s)

s가 숫자가 아닌 것을 담고 있을 때 true

728x90
반응형