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 |
Tags
- 컴퓨터
- LeetCode
- 자바스크립트
- 리액트
- styled-components
- react
- binary
- 애플
- 운영체제
- 식물키우기
- 알고리즘
- c++
- git
- 기억장치
- string
- 정규표현식
- Javascript
- 자바
- ECMAScript6
- Algorithm
- ECMAScript2015
- ES6
- db
- 아이폰
- java
- 맛집
- 배포
- 데이터베이스
- codewars
- 반응형 웹
Archives
- Today
- Total
에브리 저장소
[Codewars - 7 kyu] Regex validate PIN code 본문
이 문제는 올바른 PIN 코드 입력을 찾아내는 문제입니다. string으로 들어오는 입력을 받아 올바른 PIN 코드인지 아닌지를 boolean으로 반환하면 됩니다.
validatePIN("1234") === true
validatePIN("12345") === false
validatePIN("a234") === false
정규표현식을 써서 간단하게 해결할 수 있습니다.
정규표현식 문법(?) 중, \d는 digit를 의미하여 0~9 사이가 존재하는지 검사가 가능합니다.
그리고 중괄호를 사용하여, 몇 개 포함되어 있는지를 검사할 수 있습니다. 이 문제를 풀기 위해 다음과 같은 정규표현식을 만들 수 있겠습니다.
/^(\d{4}|\d{6})$/
^, $는 각각 시작과 끝을 의미하고 |는 또는(OR)의 의미를 가집니다.
정리하면 4개 혹은 6개 모두 숫자로 구성된 문자열을 검사하는 정규표현식이 됩니다.
자바스크립트에는 문자열이 정규표현식을 만족하는지 확인하여 boolean 값을 반환하는 test 메서드가 존재합니다. 이를 활용하여 정답을 반환할 수 있습니다.
풀이 코드는 더보기 버튼을 눌러주세요.
더보기
const validatePIN = pin => /^(\d{4}|\d{6})$/.test(pin);
아래는 정규표현식을 테스트하기 편리한 사이트입니다.
'자료구조 · 알고리즘' 카테고리의 다른 글
[Codewars - 7 kyu] Ones and Zeros (0) | 2020.01.17 |
---|---|
[Codewars - 7 kyu] Mumbling (0) | 2020.01.15 |
[Leetcode - String] Longest substring without repeating characters 풀이 (0) | 2019.11.10 |
[Leetcode - Binary] Sum of two integers 풀이 (0) | 2019.11.09 |
[C++] char형 데이터 int형으로 변환하기 (0) | 2019.04.30 |
Comments