1️⃣ 문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
2️⃣ 제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
3️⃣ 입출력 예
s | return |
"a234" | false |
"1234" | true |
🌱 문제풀이
class Solution {
public boolean solution(String s) {
if ( s.length() == 4 || s.length() == 6 ) {
for(int i = 0; i < s.length(); i++){
if( s.charAt(i) < '0' || s.charAt(i) > '9') return false;
}
return true;
} else {
return false;
}
}
}
먼저 문자열의.length()가 4이거나 6일 경우와 아닌경우를 나눈다.
그후 반복문을 사용해 문자열의 해당 요소 하나하나가 0~9사이의 숫자가 아닌 경우에는 false
처음에는 String을 하나하나 split해서 배열에 넣고 그 배열을 int로 바꿔서 비교해야하나? 했는데 그냥 문자열의 요소에도 쉽게 접근할 수 있는 방법이 있었다..! 이래서 기본기가 중요하다니까.... 아 자바 공부좀 해야하는데..🥹
문자열.length() : 문자열의 길이 구하기
배열.length : 배열의 길이 구하기
문자열.chatAt(인덱스) : 해당 인덱스의 문자를 가져올 수 있다
🛎️NEW
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;
}
}
'Programming > Algorithm' 카테고리의 다른 글
[프로그래머스] Lv.1 같은 숫자는 싫어 - JAVA (ArrayList, LinkedList ) (0) | 2023.09.05 |
---|---|
[프로그래머스] Lv.1 최대공약수와 최소공배수 - JAVA (0) | 2023.09.04 |
[프로그래머스] Lv.1 문자열 내림차순으로 배치하기 - JAVA (0) | 2023.09.02 |
[프로그래머스] Lv.1 추억점수 - Java (0) | 2023.09.02 |
[프로그래머스] Lv.1 약수의 개수와 덧셈 - JAVA (2) | 2023.09.01 |
댓글