[프로그래머스] 12918 문자열 다루기 기본

최대 1 분 소요

프로그래머스 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알고리즘 완료🤓

댓글남기기