반응형
- 첫 풀이
처음 풀 때, 문제를 제대로 읽지 않아 '문자열 s의 길이가 4 혹은 6이고' 이 부분을 간과한 채 숫자로만 구성돼있는지 여부만을 확인하여 몇몇의 테스트 케이스가 실패하였다. 또한, 숫자 중 0을 왜인지 모르게 고려하지 않아 몇 번 더 실패하였다.
class Solution {
public boolean solution(String s) {
boolean answer = true;
// 문자열 길이를 고려하지 못했다.
for(int i=0;i<s.length();i++){
// 숫자 0을 고려하지 못했다.
if(s.charAt(i)-'0'>=1 && s.charAt(i)-'0'<10) continue;
else return false;
}
return answer;
}
}
- 정답 풀이
위의 사항들을 고려해 다시 풀어 정답처리를 받을 수 있었다.
class Solution {
public boolean solution(String s) {
boolean answer = true;
// 1. 문자열의 길이가 4와 6이 아니라면 false.
if(s.length() != 4 && s.length() != 6) return false;
// 2. 문자열 탐색.
for(int i=0;i<s.length();i++){
// 2-1. 해당 문자가 0~9에 속한다면 continue.
if(s.charAt(i)-'0'>=0 && s.charAt(i)-'0'<10) continue;
// 2-2. 속하지 않는다면 false.
else return false;
}
// 3. 여기까지 도달했다면 true.
return answer;
}
}
반응형