코딩 공부/Programmers-Java

[Programmers] 문자열 다루기 기본 - 12918

sintory-04 2025. 3. 26. 20:00

[level 1] 문자열 다루기 기본 - 12918

문제 링크

성능 요약

메모리: 80.9 MB, 시간: 0.04 ms

구분

코딩테스트 연습 > 연습문제

채점결과

정확성: 100.0
합계: 100.0 / 100.0

제출 일자

2025년 03월 26일 17:38:00

문제 설명

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

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s return
"a234" false
"1234" true

 

1. 자바 코드

class Solution {
    public boolean solution(String s) {
        for (char a : s.toCharArray()) {
            if (! ((int) a >= 48 && (int) a <= 57)) {
                return false;
            }
        }
        if (s.length() == 4 || s.length() == 6) {
            return true;
        }
        return false;
    }
}

2. 해석

s.toCharArray() 문자열을 char[] 로 바꾸어 주는 메서드이다.

- 아스키 코드를 이용했다. 48~57 까지가 숫자를 뜻하기 때문에, 숫자가 아닐경우 false 를 미리 반환해버린다.

- 숫자가 포함되지 않았다면, 두 번째 조건인 배열의 길이가 4와 6인 경우를 또 체크해주어야한다. 만약 4와 6인 경우 미리 true 를 반환하게 한다.

- 아니면 모두 false 를 반환해버리면 끝!