반응형
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
문제코드 :
class Solution {
public boolean solution(String s) {
boolean answer = true;
if (s.length() != 4 && s.length() != 6) {
return false;
}
for (char c : s.toCharArray()) {
if (!Character.isDigit(c)) {
return false;
}
}
return true;
}
}
문제풀이 :
조건에 부합하면 true를 만들어주는 것보다,
조건에 맞지않을 때마다 false를 return 해주는 것이 좋다.
조건 1 : 문자열의 길이가 4또는 6이 아니다. return false
조건 2 : for-each 문법을 통해 char c에 string s를 char배열로 만든 값을 대입하면서
숫자가 아닌 형식이 있는 지를 판단한다.
이때 숫자가 아닌 형식이 대입된다면 false를 return 한다.
이 모든 두 가지 조건을 만족하고 for문과 if문이 종료되면 true를 return 한다.
반응형