본문 바로가기

Algorithm/Programers - Java

[프로그래머스(Java)] 문자열 다루기 기본 / isDigit(), parseInt()

 

Level.1

 

문제

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼 있는지 확인해 주는 함수, solution을 완성하세요.
예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

풀이

class Solution {
    public boolean solution(String s) {
        if( s.length() != 4 && s.length() != 6) 
            return false;
        for(int i=0; i<s.length(); i++){
            if(!Character.isDigit(s.charAt(i))) return false;
        }
        return true;
    }
}

 

Character.isDigit()

Character.isDigit(char)
  • 명시된 char 값이 숫자인지 여부를 판단하여 true 또는 false를 리턴한다.

 


다른 풀이

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

 

parseInt()

Integer.parseInt(String s)
Integer.parseInt(String s, int radix)
  • s : 변경할 문자열
  • raidx : 변환할 진수값. 없을경우 10진수로 변환
  • 문자열을 숫자로 변환시키는 방법이다.
  • 숫자가 아닌 문자가 들어간 String의 경우 NumberFormatException 예외가 발생한다. 
  • int 뿐만 아니라 byte, short, long, float, double 등 숫자와 관련된 타입으로 변환할 수 있다.
     > parseByte() / parseShort() / parseInt() / parseLong() / parseFloat() / parseDouble()

 

 


https://school.programmers.co.kr/learn/courses/30/lessons/12918?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr