본문 바로가기
Programming/Algorithm

[프로그래머스] Lv.1 문자열 다루기 기본 - JAVA

by 안녕주 2023. 9. 3.

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;
  }
}

댓글