[프로그래머스] 12918 문자열 다루기 기본
프로그래머스 level1
문제
문제 풀이
문제 리뷰
문자열의 길이가 4이거나 6이어야한다.
문자열은 숫자로만 구성되어야한다.
위의 조건을 모두 충족한다면 true를 반환하고
하나라도 충족하지 못한다면 false를 반환해야한다.
나는 3가지의 방법으로 문제를 풀어보았다.
- isDigit() 함수를 사용하기
if (!Character.isDigit(array[i])) {
check = false;
}
isDigit() 함수는 주어진 char 값이 숫자인지 여부를 판단하는 함수이다.
참이면 true를, 거짓이면 false를 반환한다.
- try/catch문 사용하기
String s = "a123";
Integer.parseInt(s) //a123
위의 함수는 String을 int로 변환해준다.
변환할 문자열에 숫자만이 아니라 문자가 포함되어있다면
변환하는 과정에서 에러가 발생할 것이다.
이러한 점을 이용하여 try/catch문을 사용하는 방법이다
정상적인 수행을 할 때는 try문에서 true를 반환하고
에러가 발생했을 때는 catch문에서 false를 반환한다.
개인적으로 이 풀이가 가장 깔끔하고 재미있는 것 같다.
- 숫자의 범위를 이용하기
if ('0' < array[i] && array[i] > '9') {
check = false;
}
가장 일반적인 방법이다.
주어진 문자열이 숫자 0~9 범위에 있는 문자열인지 판별하는 방법이다.
위의 조건은 해당하는 원소가 0~9 범위에 존재하지 않을 경우를 의미한다.
즉, 문자열이 존재할 경우이다.
참이면 true를, 거짓이면 false를 반환한다.
TMI
좀 더 깔끔하게 풀 수 있으면 좋겠당
1일 1알고리즘 완료🤓
댓글남기기