👀 문제
https://programmers.co.kr/learn/courses/30/lessons/12918
👊 도전
1. 설계
- 문자열 길이가 4 또는 6이 아니라면 false를 리턴한다.
- 길이 조건에 만족한다면 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. 설명
- 문자열 길이를 확인한다.
- 길이가 4도 아니고 6도 아니라면 false를 리턴한다.
- 첫 조건이 맞지 않으므로 다음 for문은 확인할 필요도 없다.
- 문자열이 숫자만으로 이루어져 있는지 확인한다.
- charAt()으로 문자를 하나 추출하고, 아스키코드를 이용해 숫자 0부터 9사이의 범위에 들어오는지 체크한다.
👏 해결 완료!
처음에 0을 생각못하고 1부터 9까지로 해서 테스트 9, 10에서 틀렸었다. 이런 실수는 하지 않도록 노력해야겠다.