블로그

[프로그래머스, 자바스크립트] 알고리즘-13 문자열 다루기 기본 본문

알고리즘

[프로그래머스, 자바스크립트] 알고리즘-13 문자열 다루기 기본

wooluck 2019. 11. 18. 23:37

출처 : 프로그래머스 알고리즘 코딩테스트 Level.1

https://programmers.co.kr/learn/courses/30/lessons/12918?language=javascript

문자열 다루기 기본

문제
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요.
예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

제한 조건

1. s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

s return
a234 false
1234 true

풀이 과정

1. 문자열 길이가 4또는 6인지 검사

2. 숫자 외의 문자가 포함되어 있는지 검사

 - Number || parseInt는 문자인 + -를 부호로 판단한다.

 이걸 방지하려면 replace를 사용. 부호가 여러개 일 수도 있으니 정규 표현식으로 한 번에 replace가 필요함.

3. 생각해보니 정규 표현식을 사용하면 1, 2를 하나로 처리할 수 있다.

 

답안

function solution(s) {
    return (/(^[0-9]{4}|^[0-9]{6})$/g).test(s);
}

정규 표현식은 언제봐도 헷갈린다.

그래도 알고리즘 관련 풀이에서 매우 소중한 녀석인데 아껴줘야지..

 

Comments