[JAVA/프로그래머스] 연습문제: 문자열 다루기 기본

👀 문제

https://programmers.co.kr/learn/courses/30/lessons/12918

👊 도전

1. 설계

  1. 문자열 길이가 4 또는 6이 아니라면 false를 리턴한다.
  2. 길이 조건에 만족한다면 for문을 통해 숫자만으로 이루어진 문자열인지 체크한다.

2. 구현 (성공 코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 *
 * @author HEESOO
 *
 */
 class Solution {
   public boolean solution(String s) {
       boolean answer = true;
       char ch;
       int sLength=s.length();
       if(sLength!=4&&sLength!=6) return false;
       for(int i=0;i<sLength;i++){
           ch=s.charAt(i);
           if(!('0'<=ch&&ch<='9')) return false;
       }
       return answer;
   }
 }
 

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. 문자열 길이를 확인한다.
    • 길이가 4도 아니고 6도 아니라면 false를 리턴한다.
    • 첫 조건이 맞지 않으므로 다음 for문은 확인할 필요도 없다.
  2. 문자열이 숫자만으로 이루어져 있는지 확인한다.
    • charAt()으로 문자를 하나 추출하고, 아스키코드를 이용해 숫자 0부터 9사이의 범위에 들어오는지 체크한다.

👏 해결 완료!

처음에 0을 생각못하고 1부터 9까지로 해서 테스트 9, 10에서 틀렸었다. 이런 실수는 하지 않도록 노력해야겠다.