문자열 다루기 기본

dbworud1234·2020년 9월 29일
0

프로그래머스(level 1)

목록 보기
15/15

#2020. 09. 29

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn
"a123"false
"1234"true

풀이

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        char[] arr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
        int length = s.length();
        if(length != 4 && length != 6) {
            answer = false;
            return answer;
        }
        for(int i = 0; i < length; i++) {
            int count = 0;
            for(int j = 0; j < arr.length; j++) {
                if(s.charAt(i) != arr[j]) {
                    count++;
                }
                else break;
            }
            if(count == 10) {
                answer = false;
                break;
            }
        }
        return answer;
    }
}

길이가 4 혹은 6을 체크하기 위해 처음 if문으로 길이가 4, 6이 아니면 false를 리턴했습니다. 그 후, 문자열 s의 한 글자마다 arr배열에 있는 문자와 같은지, 판단하고 숫자가 아니면 count변수를 1씩 올렸습니다. 총 숫자는 10개이므로, count가 10이 돼면, 해당 문자는 숫자가 아니므로, break를 하여, false를 리턴합니다.

profile
차근차근히 시작해보는 velog

0개의 댓글