문제설명>
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
코드>
class Solution {
public boolean solution(String s) {
boolean answer = true;
char tmp;
if(s.length() == 4 || s.length() == 6){ //문자열의 길이가 4 또는 6인지 체크
for(int i=0;i<s.length();i++){
tmp = s.charAt(i); //charAt()메소드를 활용해서 문자열을 읽는다
if(Character.isDigit(tmp) == false) answer = false; //숫자인지 체크
}
} else answer = false;
return answer;
}
}
리뷰>
- 배열이 아닌 문자열이므로 length() 사용하기
class Solution{
public boolean solution(String s){
if(s.length() == 4 || s.length() == 6{
try{
int x = Integer.parseInt(s);
return true;
}catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
class Solution {
public boolean solution(String s) {
return (s.length() != 4 && s.length() != 6) || (s.split("[0-9]").length > 0) ? false:true;
}
}
'코딩테스트 연습 > JAVA' 카테고리의 다른 글
[프로그래머스] K번째 수 (0) | 2020.02.04 |
---|---|
[프로그래머스] 가운데 글자 가져오기 (0) | 2020.01.31 |
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.01.30 |
댓글