치악산 복숭아
[프로그래머스] 문자열 다루기 기본 - Javascript 본문
링크
programmers.co.kr/learn/courses/30/lessons/12918
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
문제 풀이
1) 코드 설명
(1) if문을 이용해서 문자열의 길이가 4, 6인지 검사한다.
(2) if문을 통과했다면 string을 parseInt 함수를 이용해서 숫자로 바꿔준다.
(3) 만약 문자가 섞여있다면 문자는 사라지기 때문에 if문을 한번 더 돌려서 검사 해준다. '
2) 코드
function solution(s) {
var answer = false;
if(s.length == 4) {
var num = parseInt(s);
if(num.toString().length == 4) {
answer = true;
}
}
if(s.length == 6) {
var num = parseInt(s);
if(num.toString().length == 6) {
answer = true;
}
}
return answer;
}
수정한 코드
//210623
function solution(s) {
const regex = /^\d{4}$/;
const regex2 = /^\d{6}$/;
return (regex.test(s) || regex2.test(s));
}
정규식 시도해봤는데 코드가 깔끔해졌다 !
/a|b/ 는 a or b라는데 나도 변수 두개로 안나누고 한번에 /^\d{4}$|^\d{6}$/ 했으면 더 좋았을걸하는 아쉬움이 생긴다
'PS:0' 카테고리의 다른 글
[프로그래머스] 소수 찾기 - Javascript (0) | 2020.09.16 |
---|---|
[프로그래머스] 서울에서 김서방 찾기 - Javascript (0) | 2020.09.16 |
[프로그래머스] Level 1 - 문자열 내 마음대로 정렬하기 (0) | 2020.09.16 |
[프로그래머스] Level 1 - 나누어 떨어지는 숫자 배열 (0) | 2020.09.16 |
[프로그래머스] Level 1 - 같은 숫자는 싫어 (0) | 2020.09.16 |
Comments