문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
"a234" | false |
"1234" | true |
제출답안 및 풀이
class Solution {
public boolean solution(String s) {
// 문자열 길이가 4 또는 6이 아니면 false 반환
if (s.length() != 4 && s.length() != 6) {
return false;
}
// 문자열이 숫자로만 구성되어 있는지 확인
try {
Integer.parseInt(s); // 문자열을 정수로 변환 시도
return true; // 변환 성공시 true 반환
} catch (NumberFormatException e) {
return false; // 숫자가 아닌 문자가 포함된 경우 false 반환
}
}
}
* 코딩테스트라 위와같이 Exception으로 제어를 하였으나 현업에서는 Exception은 실제 예외처리 필요 시에만 사용해야함! 아래는 Exception을 사용하지 않는 코드
class Solution {
public boolean solution(String s) {
return (s.length() == 4 || s.length() == 6) && s.matches("[0-9]+");
}
}
class Solution {
public boolean solution(String s) {
if (s.length() != 4 && s.length() != 6) {
return false;
}
for (char c : s.toCharArray()) {
if (!Character.isDigit(c)) {
return false;
}
}
return true;
}
}
'코딩테스트 > 프로그래머스 | Lv. 1' 카테고리의 다른 글
[프로그래머스 | JAVA] 같은 숫자는 싫어 (0) | 2024.12.06 |
---|---|
[프로그래머스 | JAVA] 직사각형 별찍기 (1) | 2024.12.05 |
[프로그래머스 | JAVA] 핸드폰 번호 가리기 (0) | 2024.12.05 |
[프로그래머스 | JAVA] 행렬의 덧셈 (0) | 2024.12.05 |
[프로그래머스 | JAVA] 부족한 금액 계산하기 (1) | 2024.12.04 |