[프로그래머스] 문자열 다루기 기본 (JAVA)

·2023년 1월 30일
0

프로그래머스

목록 보기
33/59

📌 문제 설명

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

📌 제한 사항

s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

📌 입출력 예

sreturn
"a234"false
"1234"true

📌 코드

class Solution {
    public boolean solution(String s) {
       boolean answer = false;
        if(s.length() == 4 || s.length() == 6){
            for(int i = 0; i < s.length(); i++){
                try {
                    Integer.parseInt(s.substring(i, i+1));
                    answer = true;
                } catch (NumberFormatException e){
                    answer = false;
                    break;
                }
            }
        }
        return answer;
    }
}

📌 문제 해결 과정

💡 예전에 boolean으로 정수인지 아닌지 확인하던 함수 만들 때 try-catch문을 사용했던 게 생각나서 try-catch로 풀어 보았다 문자열 s의 길이가 4 혹은 6이 아닐 수도 있으니 answer의 초기화는 false로 해 주었다 만약 s의 길이가 4이거나 6일 때만 for문 반복을 가능하게 해 주는데, 이때 s를 한 문자씩 자른 게 정수가 맞다면 answer을 true를 설정해 주고, 한 문자라도 알파벳이 나오면 answer을 false로 설정해 주고 바로 반복문을 탈출하는 방식으로 문제를 해결하였다

profile
공부는 많은 양을 하진 않더라도 꾸준히 매일 하기

0개의 댓글