강의로 돌아가기
엄현식

테스트 케이스 질문

처음에 좀 막 푸느냐고 아래와 같은 방식으로 문제를 풀었는데요, 통과가 되더라구요.

// 생략
return (s.length() == 4 || s.length() == 6) ? 
           (s.matches("[0-9]{4}") ? true : false) :
           false;

생각해보니까 조금 이상해서 다시 봤는데,
테스트케이스 중 문자열 길이가 6이면서 숫자만 있는 'true' 케이스가 없는 것 같습니다...!!?
111111 -> true 가 나와야하는데 위에 표현식이라면 false가 나옵니다!

지금은 길이 검사를 생략하고 정규식으로 길이가 4 혹은 6이면서 숫자로만 이루어진 것인지 수정했습니다!

작성중인 코드―Solution.java
1
2
3
4
5
6
class Solution {
  public boolean solution(String s) {

      return (s.matches("[0-9]{4}") || s.matches("[0-9]{6}")) ? true : false;
  }
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.