일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- CKA
- ORM
- map
- 알고리즘
- vuejs
- docker
- superBuilder
- 뷰
- 자바
- programmers
- k8s
- Vue
- Spring
- java
- Di
- Oracle
- 해시맵
- 프로그래머스
- dabase
- hibernate
- CI
- CI/CD
- DevOps
- builder-pattern
- IntelliJ
- JPA
- cd
- Kubernetes
- 코딩테스트연습
- SpringMVC
Archives
- Today
- Total
문홍의 공부장
[Java] 프로그래머스 Lv.1 문자열 다루기 기본 풀이 본문
반응형
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
나의 풀이
얼마 전에 문제 풀다가 정규표현식을 사용했어서, 여기서도 자연스럽게 정규표현식으로 숫자 여부를 확인하면 되겠다고 생각이 떠올랐다.
정규표현식은 쓸 때마다 헷갈려서, 이번 기회에 한 번 정리를 하고 넘어가야겠다.
1 2 3 4 5 6 7 8 | public boolean solution(String s) { if(s.length() == 4 || s.length() == 6) { return s.matches("^[0-9]*$"); } return false; } | cs |
다른 사람의 풀이
정수형으로 파싱했을 때 NumberFormatException 이 나오는지에 따라 boolean 값을 다르게 리턴했다. 예외처리를 이렇게 활용하다니 좋은 아이디어인 것 같다.
1 2 3 4 5 6 7 8 9 10 11 | 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 |
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv.1 소수 찾기 풀이 : 에라토스테네스의 체(소수 구하기 알고리즘) (0) | 2020.02.08 |
---|---|
[Java] 프로그래머스 Lv.1 문자열 내림차순으로 배치하기 풀이 (0) | 2020.02.06 |
[Java] 프로그래머스 Lv.1 문자열 내 p와 y의 개수 풀이 (0) | 2020.02.06 |
[Java] 프로그래머스 Lv.1 두 정수 사이의 합 풀이 (0) | 2020.02.03 |
[Java] 프로그래머스 Lv.1 같은 숫자는 싫어 풀이 (0) | 2020.01.27 |