-
문자열 다루기알고리즘/프로그래머스 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자리)조건이 하나 더 있는 줄 몰라서 이방법, 저방법으로 풀어보았다.
근데 문제를 다시 읽어보니까, 자릿수 비교도 해야해서 추가하니 아주 금방 해결되서 허탈했다.
제발 문제를 잘읽자~!