티스토리 뷰

 
 
문제 설명

문자열 s의 길이가 4혹은 6이고, 숫자로만 구성되있는지 확인해주는 함수, solution을 완성하세요.
예를들어 s가 

a234

이면 False를 리턴하고 

1234

라면 True를 리턴하면 됩니다.

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s return
a234 false
1234 true

 

 

 

 

 

 

Solution in Java

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
  public boolean solution(String s) {
      boolean answer = true;
   
      if(s.length() == 4 || s.length() == 6){
          if( s.matches("^[0-9]*$")){
              return answer;
          }else{
              return answer = false;
          }
      }else{
          return answer = false;
      } 
  }
}
cs
 
Regular expression 공부하기
^[0-9]*$
^ - 문자열의 시작
[0-9] - []는 문자의 범위를 나타내며 여기선 숫자가(0부터 9까지) 올 수 있음을 의미
* - 앞의 문자가 없을 수도 있고 무한정으로 많을 수도 있다.
$ - 문자열의 종료
 
 

Solution in Javascript

function solution(s) {
    if(s.length === 4 || s.length === 6){
        // split으로 array 로 나누고 every로 돌려서 isNaN이면 true return.
        return s.split("").every(e => !isNaN(e));
    } else {
        return false;
    }
}
console.log(solution('12s4')); //false

 

 

reference 

https://programmers.co.kr