⏱소요 시간 - 1시간
🔑해결 방법
로직 짜는 건 진짜 금방 짰다. 10분 정도? 근데,,,
return문 반환, 숫자가 들어왔는지 비교하는거에서 && 써놓고 계속 안된다 이러고 있었다 하.....^^
공백 제거해준다고 trim()은 왜 썼으며 (어차피 if문에서 걸러질 텐데 제정신 아님ㅋㅋ)
현재 시각 새벽 네시.... 졸려서 정신 나간거라고 하자.........ㅎ
나는 아스키 코드를 이용해서 풀었는데 charAt(i) 으로 받아서 풀어도 상관없다.
소스 코드는 아래 첨부하겠다.
🔎소스 코드
package step1;
// 문자열 다루기 기본
public class Ex16 {
public static void main(String[] args) {
System.out.println(solution("a234")); // f
System.out.println(solution("1234")); // t
System.out.println(solution("123 ")); // f
System.out.println(solution("123")); // f
System.out.println(solution("1qqq")); // f
}
public static boolean solution(String s) {
boolean answer = false;
char[] arr = s.toCharArray();
if(s.length() == 4 || s.length() == 6) {
for(int i = 0; i < arr.length; i++) {
if(48 > arr[i] || arr[i] > 57) { // 숫자가 아닌게 하나라도 나오면
return answer; // false
}
}
return true; // 문자열의 길이도 맞고 모두 숫자라면
}
return answer; // false // 문자열의 길이가 4,6이 아닌 경우
}
}
🔎charAt()을 이용한 코드
package step1;
// 문자열 다루기 기본
public class Ex16_1 {
public static void main(String[] args) {
System.out.println(solution("a234")); // f
System.out.println(solution("1234")); // t
System.out.println(solution("123 ")); // f
System.out.println(solution("123")); // f
System.out.println(solution("1qqq")); // f
}
public static boolean solution(String s) {
boolean answer = false;
if(s.length() == 4 || s.length() == 6) {
for(int i = 0; i < s.length(); i++) {
if('0' > s.charAt(i) || s.charAt(i) > '9') {
return answer;
}
}
return true;
}
return answer; // false // 문자열의 길이가 4,6이 아닌 경우
}
}
'ALGORITHM' 카테고리의 다른 글
[프로그래머스 Java] 서울에서 김서방 찾기 (0) | 2021.01.20 |
---|---|
[프로그래머스 Java] 문자열 내림차순으로 배치하기 (0) | 2021.01.13 |
[프로그래머스 Java] 문자열 내 p와 y의 개수 (0) | 2021.01.12 |
char[] <-> String <-> String[] (0) | 2021.01.12 |
[프로그래머스 Java] 문자열 내 마음대로 정렬하기 (0) | 2021.01.12 |