Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 모듈 배포하기
- html
- 자바스크립트 객체
- toast
- 우아한테크캠프 4기
- 러닝 자바스크립트
- npm
- ES6
- 자바
- 우아한형제들
- 우아한테크캠프
- 코드스쿼드
- 인사이드 자바스크립트
- 토이 프로젝트
- express
- 개인 프로젝트
- 네이버 테크 콘서트
- 레인지 슬라이더
- 토이프로젝트
- 자바스크립트
- 회고의 회고
- 프로그래머스
- CSS
- 알고리즘
- 우아한테크코스
- AWS
- 주간 회고
- Hello Coding HTML5+CSS3
- 리액트
- 함수
Archives
- Today
- Total
블로그
[프로그래머스, 자바스크립트] 알고리즘-13 문자열 다루기 기본 본문
출처 : 프로그래머스 알고리즘 코딩테스트 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);
}
정규 표현식은 언제봐도 헷갈린다.
그래도 알고리즘 관련 풀이에서 매우 소중한 녀석인데 아껴줘야지..
'알고리즘' 카테고리의 다른 글
[프로그래머스, 자바스크립트] 알고리즘-15 문자열 내림차순으로 배치하기 (0) | 2019.11.20 |
---|---|
[프로그래머스, 자바스크립트] 알고리즘-14 나누어 떨어지는 숫자 배열 (0) | 2019.11.19 |
[프로그래머스, 자바스크립트] 알고리즘-12 서울에서 김서방 찾기 (0) | 2019.11.18 |
[프로그래머스, 자바스크립트] 알고리즘-11 x만큼 간격이 있는 n개의 숫자 (0) | 2019.11.18 |
[프로그래머스, 자바스크립트] 알고리즘-10 약수의 합 (0) | 2019.11.14 |
Comments