[Node.js_6기 본캠프] Today I Learned_0808

2024. 8. 8. 16:54[Node.js_6기 본캠프 TIL]

[코딩테스트 연습 - js] 문자열 다루기 기본

 

if문으로 조건을 하나만 쓰다가, 2개 이상 사용하려고 하니 'if(s.length === 4'까지만 쓰고 잠시 고민해야 했다. or 을 넣어보면 되나, 했지만 초록색으로 변하는 것을 보니 무언가 잘못되었다는 것을 알 수 있었다. 구글링을 해보니 2개 이상의 조건을 걸 때  ' || '를 넣어주면 해결되는 문제였다.

function solution(s) {
    if(s.length === 4 || s.length === 6) 

 

문자열 길이 조건까지는 썼으니, 이제 숫자인지 문자인지만 판별하면 끝. split으로 쪼개서 판별해주면 될 것 같은데... 판별해주는 함수를 또 몰라서 구글링을 했다. 

 

 

이런 좋은 함수가 있었다니... 어떻게 써먹으면 좋을지 다른 풀이들을 참고해보니, every()와 붙여서 쓰면 한번에 검사 및 판별이 가능하다고 해서 바로 도전해봤다.

function solution(s) {
    if(s.length === 4 || s.length === 6){
        return s.split("").every(c => !isNaN(c))} 
    else {
        return false;
    }
}

 

위의 코드로 무사히 정답 처리가 되었다.

 

* isNaN()은 숫자가 아닌 매개변수를 검사하는 함수이기 때문에, 앞에 !를 빼먹으면 안된다. every()는 왜 c를 쓰는지 조금 헷갈려서 따로 공부가 필요하다.