https://programmers.co.kr/learn/courses/30/lessons/12918
풀이
문자열을 charAt을 통해 숫자 0~9에 포함되는지 아닌지 판단한다.
class Solution {
public boolean solution(String s) {
// 문자열 길이가 4,6 인지 확인
if(!(s.length()==4||s.length()==6)) return false;
// 문자열이 0~9중에 맞는게 없다면 false
char[] num = {'0','1','2','3','4','5','6','7','8','9'};
for(int i=0;i<s.length();i++){
for(int j=0;j<num.length;j++){
if(s.charAt(i)==num[j]) break; // 숫자
else if(j==num.length-1) return false;
}
}
return true;
}
}
정규표현식 사용( String.matches() )
String.matches() : 특정 패턴(정규표현식(Regex))의 문자열을 포함하는지 확인하는 메소드. 대상 문자열과 패턴이 일치할 경우 true 반환한다.
정규 표현식 | 설명 |
^[0-9]*$ | 숫자 |
^[a-zA-Z]*$ | 영문자 |
^[가-힣]*$ | 한글 |
class Solution {
public boolean solution(String s) {
if(!(s.length()==4||s.length()==6)) return false;
return s.matches("(^[0-9]*$)");
}
}
Stirng to Int (형변환)
s를 int형으로 형변환해서 오류가 나면 false, 오류나지 않으면 true를 반환한다.
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;
}
}
'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 : 문자열 내 p와 y의 개수 (0) | 2022.01.31 |
---|---|
[Java] 프로그래머스 : 가운데 글자 가져오기 (0) | 2022.01.31 |
[Java] 프로그래머스 : 두 개 뽑아서 더하기 (0) | 2022.01.31 |
[Java] 프로그래머스 : 자연수 뒤집어 배열로 만들기 (0) | 2022.01.31 |
[Java] 프로그래머스 : 제일 작은 수 제거하기 (0) | 2022.01.31 |