문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s | return |
a234 | false |
1234 | true |
코딩테스트 연습하다가
모르는 걸 알게 되었음
String을 전달 받아서는, 숫자로만 구성되어있는지 확인 하려면
for문으로 글자 하나하나 charAt()으로 받아서
1. 한글자글자마다 if문으로써 0~9사이 숫자인지 확인 한 뒤
하나라도 아닌 경우에 false & break;를 해주면 됨
2. Character 클래스의 isDigit(char) 메소드 사용
static boolean | isDigit(char ch)
Determines if the specified character is a digit. |
출처: https://docs.oracle.com/javase/8/docs/api/
해당 char가 숫자일 경우 true, 아닐 경우 false 반환
class Solution {
public boolean solution(String s) {
boolean answer = true;
if(s.length()==4 || s.length()==6){
for(int i=0; i<s.length();i++){
if( !Character.isDigit(s.charAt(i)) ){
answer = false;
break;
}
}
} else answer = false;
return answer;
}
}
다른 사람 풀이 보니까 여러 방법이 많이 보였음.
그 중에서도 제일 좋아보이는 방법들은....
- 정규식을 사용하는 방법
- 익셉션을 사용하는 방법
정도?
다들 똑똑하다,,, 분발해야지 ㅠㅠㅠ
반응형
'공부 > 알고리즘' 카테고리의 다른 글
[Java] 코딩테스트 연습_3 (0) | 2020.06.02 |
---|---|
[Java] 코딩테스트 연습_2 (0) | 2020.03.30 |
[Algorithm] 알고리즘 공부 시작하기 (0) | 2020.03.16 |
[Algorithm] 알고리즘 - Dynamic Programming(동적 프로그래밍) (0) | 2020.03.13 |
[Java] 코딩테스트 연습_1 (1) | 2020.03.11 |