https://programmers.co.kr/learn/courses/30/lessons/12918
방법 1 : 내가 짠 쉬운 답안
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class Solution {
public boolean solution(String s) {
// 길이가 4 or 6이 아니면 false
int length = s.length();
if (!(length == 4 || length == 6)) {
return false;
}
// 0 ~ 9 사이의 문자가 아니면 false
for (int i = 0; i < length; i++) {
if (s.charAt(i) < '0' || s.charAt(i) > '9')
{
return false;
}
}
return true;
}
}
Colored by Color Scripter
|
방법 2 : 신기한 다른 분 답안
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class Solution {
public boolean solution(String s) {
if(s.length() == 4 || s.length() == 6){
// String -> int 파싱 시도. 성공하면 true
try{
int x = Integer.parseInt(s);
return true;
// 익셉션이 나면 false
} catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
Colored by Color Scripter
|
방법 3: 생소한 다른 분 답안
1
2
3
4
5
6
7
8
9
10
11
12
|
import java.util.*;
class Solution {
public boolean solution(String s) {
if (s.length() == 4 || s.length() == 6) {
// 정규식에 일치하면 true
return s.matches("(^[0-9]*$)");
}
return false;
}
}
Colored by Color Scripter
|
String을 int로 파싱 시도해보고
성공하면 true, 오류나면 false 처리하는 방법 2는 대체 어떻게 생각하신 걸까
신기한 방법이다.
정규식은 텍스트 처리와 데이터 검증에 매우 유용하다고 한다.
무섭게 생겼지만, 내가 과외하던 시절 애들한테 입버릇처럼 하던 얘기가 있다.
이거는!! 처음봐서 낯선거지 어려운게 아니야!!
한 10번 봐도 이상하면 그게 어려운거야 ㅋㅋ
아직 초면이므로,,, 좀더 마주쳐서 안면이 익으면 다시 보겠다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스]연습문제 : 소수 찾기 (level 1) (0) | 2019.11.06 |
---|---|
[프로그래머스]연습문제 : 서울에서 김서방 찾기 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 문자열 내림차순으로 배치하기 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 문자열 내 p와 y의 개수 (level 1) (0) | 2019.11.06 |
[프로그래머스]연습문제 : 문자열 내 마음대로 정렬하기 (level 1) (0) | 2019.11.06 |
댓글