[프로그래머스/java] 문자열 다루기 기본
리트리버J
·2021. 1. 8. 02:28
728x90
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
<나의 풀이>
1. (int)char를 하게 되면 아스키코드로 변형이 된다.
2. 아스키코드 48~57은 숫자이다.
1
2
3
4
5
6
7
8
9
10
|
class Solution {
public boolean solution(String s) {
if(!(s.length() == 4 || s.length() == 6)) return false;
for(int i=0; i<s.length(); i++) {
if(!((int)s.charAt(i) >= 48 && (int)s.charAt(i) <= 57)) return false;
}
return true;
}
}
|
cs |
<사이트 풀이>
1. Integer.parseInt()의 파라미터로 숫자가 아닌 값이 들어오면
NumberFormatException이 발생한다.
이것을 try catch 구문으로 잡아준다!!
좋은 아이디어다!
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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;
}
}
|
cs |
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
728x90
'알고리즘 > 코딩테스트' 카테고리의 다른 글
[프로그래머스/java]문자열 내림차순으로 배치하기 (0) | 2021.01.09 |
---|---|
[프로그래머스/java]서울에서 김서방 찾기 (0) | 2021.01.03 |
[프로그래머스/java] 소수 찾기 *[에라스토테네스의 체] 설명 (0) | 2021.01.03 |
[프로그래머스/java]수박수박수박수박수박수? (0) | 2021.01.03 |
[프로그래머스/java] 문자열을 정수로 바꾸기 (0) | 2021.01.03 |