알고리즘 68 - Regex validate PIN code

jabae·2021년 11월 1일
0

알고리즘

목록 보기
68/97

Q.

ATM machines allow 4 or 6 digit PIN codes and PIN codes cannot contain anything but exactly 4 digits or exactly 6 digits.

If the function is passed a valid PIN string, return true, else return false.

Examples (Input --> Output)

"1234" --> true
"12345" --> false
"a234" --> false

A)

function validatePIN (pin) {
  if (!((pin.length === 4) || (pin.length === 6)))
    return false;
  for (let el of pin) {
    if (!(el >= '0' && el <= '9'))
      return false;
  }
  return true;
}

other

다른 솔루션 중에서 처음 보는 메소드를 발견했다!
.test() : regexObj.test(str)로 사용되며, 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환한다.

function validatePIN(pin) {
  return /^(\d{4}|\d{6})$/.test(pin)
}

아직 정규표현식을 약간 읽을 줄만 알지, 제대로 사용해 본 적은 없는 것 같은데, 날 잡고 익혀놔야겠다. 은근 문제를 풀 때 다양한 방식으로 메소드들과 활용되는 것 같다.

profile
it's me!:)

0개의 댓글