본문 바로가기

프로그래머스 1단계 - 문자열 다루기 기본 본문

알고리즘/1단계

프로그래머스 1단계 - 문자열 다루기 기본

개발자로 거듭나기 2022. 9. 26. 08:59
반응형

1 단계 : 문자열 다루기 기본

코딩테스트 연습 > 연습문제 > 문자열 다루기 기본


문제 설명

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


제한 사항

s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.


입출력 예
s return
"a234" false
"1234" true

반응형

코드

function solution(s) {
    let len = s.length;
    // 이거 왜 안돼요?
    // let cond = [4,6];
    // if(isNaN(parseInt(s)) || String(parseInt(s)).length !== len || cond.indexOf(len) === -1) return false;
    // return true;
    if(s.length === 4 || s.length === 6){
        return s.split('').every(str => !isNaN(str)); 
        // 각각의 원소가 숫자인지 아닌지, 모든 원소가 !isNan() 즉 숫자여야 함
    }
    else{
        return false;
    }
}

리뷰

순서는 다음과 같다
1. 일단 s의 길이가 4이거나 6인지 살펴봐야 한다.
2. array.every(() => {}) 조건에 다 하나라도 안맞으면 false 반환 다 !isNaN의 결과가 true이면, 즉 숫자이면 true 반환하면 되겠죠

총평 : 주석 쳐 놓은거 왜 안되는지 아시면 멘트 부탁드립니다.

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12918
반응형
Comments