알고리즘
프로그래머스 Level 1 - 문자열 다루기 기본(Javascript)
또롱또
2022. 5. 14. 09:16
728x90
https://programmers.co.kr/learn/courses/30/lessons/12918#
function solution(s) {
var answer = true;
// 받아온 문자를 숫자로 형변환
let a = Number(s);
// 검사, 길이가 4 나 6일경우
if(s.length === 4 || s.length === 6)
// a가 숫자인지 체크
return !isNaN(a) ;
return false;
}
처음에 시도한 방법이다. 자꾸 11번에서 막히는데 이유는 모르겠다.
그래서 다른시도를 해보기로 했다
function solution(s) {
var answer = true;
// 문자열을 쪼개서 임시로 넣어줄 변수
let splitResult;
// 검사, 길이가 4 나 6일경우
if(s.length === 4 || s.length === 6){
// split("") - 문자열을 하나하나 쪼갠다음 배열로 정렬
splitResult = s.split("")
// every() - 배열안의 요소가 판별함수를 통과하는지 체크
// 여기서는 value가 숫자가 아닌게 아니면, 즉 숫자이면 true 보내준다.
return answer = splitResult.every((value)=>(!isNaN(value)))
}
// 기본값 false
return false;
}
그래서 이렇게 문자열을 하나하나 쪼개서 배열로 만들고 - split()
배열안의 요소가 !isNan(요소)에 맞는지 아닌지를 체크 - every()
정답코드는 정규식이다.
function alpha_string46(s){
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
728x90