꾸준하게
[JS코테] 문자열 다루기 기본 본문
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
반응형
'JS코딩테스트' 카테고리의 다른 글
[JS코테] 직사각형 별찍기 (0) | 2023.05.02 |
---|---|
[JS코테] 행렬의 덧셈 (0) | 2023.05.01 |
[JS코테] 위클리 챌린지 - 부족한 금액 계산하기 (0) | 2023.04.27 |
[JS코테] 월간 코드 챌린지 시즌2 - 약수의 개수와 덧셈 (0) | 2023.04.26 |
[JS코테] 문자열 내림차순으로 배치하기 (0) | 2023.04.25 |