알고리즘/프로그래머스
문자열 다루기
가다파하
2020. 7. 26. 20:44
문제 :
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
"1234" | true |
a234 | false |
출처 : https://programmers.co.kr/learn/courses/30/lessons/12918
코딩테스트 연습 - 문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이��
programmers.co.kr
나의 해답
class CheckStr {
public boolean solution(String s) {
boolean answer = true;
String reg = "^[0-9]*$";
answer = Pattern.matches(reg, s);
if(answer == true){
if(s.length() == 4 || s.length() == 6){
answer = true;
}else{
answer = false;
}
}
/*
if(s.length() == 4 || s.length() == 6){
try {
Integer.parseInt(s);
}catch(Exception ex){
answer =false;
}
}
else{
answer = false;
}
*/
return answer;
}
public static void main(String[] args) {
CheckStr checkStr = new CheckStr();
System.out.println(checkStr.solution("a1234"));
}
}
이 문제는 처음에 내가 문제를 잘못읽어 자릿수 비교 (4자리또는 6자리)조건이 하나 더 있는 줄 몰라서 이방법, 저방법으로 풀어보았다.
근데 문제를 다시 읽어보니까, 자릿수 비교도 해야해서 추가하니 아주 금방 해결되서 허탈했다.
제발 문제를 잘읽자~!