🧩 프로그래머스/알고리즘 풀이(Java)
프로그래머스_문자열 다루기 기본
carrot0911
2024. 11. 21. 11:49
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12918
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼 있는지 확인해 주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
"a234" | false |
"1234" | true |
내가 작성한 코드
class Solution {
public boolean solution(String s) {
boolean answer = true;
int len = s.length();
for (int i = 0; i < s.length(); i++) {
if((len == 4 || len == 6) && Character.isDigit(s.charAt(i))) {
answer = true;
} else {
answer = false;
break;
}
}
return answer;
}
}
코드 설명
- int len = s.length( ) : 문자열 s의 길이를 변수 len에 저장한다.
- for (int i = 0; i < s.length( ); i++) { } : for문을 사용해서 변수 i가 0부터 s.length( ) - 1까지 반복한다.
- if ((len == 4 || len == 6) && Character.isDigit(s.charAt(i))) { answer = true } : if문을 통해 len이 4 또는 6이고 문자열 s의 각 문자가 숫자인지 확인한다. 조건을 만족하면 변수 answer에 true를 저장한다.
- else { answer = false } : 조건을 만족하지 않으면 변수 answer에 false를 저장한다.
- break : false를 저장한 경우 더 이상의 반복이 필요 없으므로 바로 반복문을 종료한다.
Character.isDigit( )
- 특정 문자가 숫자인지 여부를 확인하는 데 사용하는 메서드이다. 문자열의 각 문자가 숫자인지 검사할 때 유용하다.
// 간단한 예시
char c = '5';
if (Character.isDigit(c)) {
System.out.println(c + "는 숫자입니다.");
} else {
System.out.println(c + "는 숫자가 아닙니다.");
}