728x90

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

정답 코드
< 내 정답 코드 >
class Solution {
public boolean solution(String s) {
if (s.length() != 4 && s.length() != 6) {
return false;
}
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if ('a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' ) {
return false;
}
}
return true;
}
}
< 타인 답변 코드 >
class Solution {
public boolean solution(String s) {
if(s.length() == 4 || s.length() == 6){
try{
int x = Integer.parseInt(s);
return true;
} catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
이것을 주의하자!
- String 문자열을 charAt( ) 메서드로 하나씩 뜯어 보면서 아스키 코드를 활용해 알파벳이 포함되어 있는지 확인하면 어려운 코드는 아니다.
- 타인 답변 코드를 보면 '예외 처리'를 통해 확인하는 방법도 있다. 즉 String 을 int 형으로 바꿀 때 NumberFormatException 이 발생하는지 확인하면서 결과를 도출하는 것이다.
'코딩 테스트' 카테고리의 다른 글
| [프로그래머스] (Lv.1) 문자열 내 p와 y의 개수 (0) | 2022.09.01 |
|---|---|
| [프로그래머스] (Lv.1) 문자열 내림차순으로 배치하기 (1) | 2022.09.01 |
| [프로그래머스] (Lv.1) 서울에서 김서방 찾기 (0) | 2022.09.01 |
| [프로그래머스] (Lv.1) 수박수박수박수박수박수? (0) | 2022.08.31 |
| [프로그래머스] (Lv.1) 문자열을 정수로 바꾸기 * (0) | 2022.08.31 |