STUDY/코딩테스트

[프로그래머스] JS 문자열 다루기 기본

쑥말고인절미 2022. 8. 30. 20:29

문제


내 답안

function solution(s) {
    var answer = true;
    
    if(s.length == 4 || s.length == 6) {
    } else {
        answer = false;
        return answer;
    }
    
    for(let i = 0; i < s.length; i++) {
        if(s[i].charCodeAt() >= 58) {
            answer = false;
            break;
        }
    }
    
    return answer;
}

메모

이전에 아스키코드 사용했던게 기억나서 활용하게 되었는데 좋은 생각이었던것 같다! 문제에 '문자열 s의 길이가 4 혹은 6이고'라는 제한사항이 있었는데 분명이 읽었는데 문제가 알아서 4 혹은 6 글자로 주어줄거라고 생각했고 아무런 코딩을 하지않았다ㅋ 그래서 채점하기에서 걸렸다 허허 문제를 좀 더 꼼꼼히 읽어야겠다~ 아스키코드에서 숫자 0부터 9까지는 48부터 57이다! 이것도 기억해두면 언제 또 써먹을 일이 생기지 않을까? 다른분들 풀이를 보니 정규식 써서 한줄로 끝낸 분도 계셨다. 엄청나다... 정규식...

친구소스는 엄청짦았다! 아래가 친구소스!

function solution(s) {
    var arr = s.split('').sort();
    
    if(isNaN(arr[arr.length-1]) || arr.length < 4 || arr.length > 6 || arr.length == 5){
        return false;
    }else{
        return true;
    }   
    
}

참고링크

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=diceworld&logNo=220175224345 

 

자바스크립트 아스키코드 변환하기 (charCodeAt / fromCharCode)

- charCodeAt / fromCharCode 란? charCodeAt 은 문자열중 하나를 선택하여 아스키코드 번호로 변환...

blog.naver.com