본문 바로가기
Java/알고리즘

[프로그래머스/알고리즘] 문자열을 정수로 바꾸기 (자바/Java)

by 전재경 2022. 11. 18.

이 문제 같은 경우는 

 

 

[Java]Integer.parseInt란 ?

Integer.parseInt란 ? String을 Int형으로 바꾸는 함수 Integer.parseInt() 입니다. 문자열을 숫자로 변환시킴 pareseInt 함수는 Integer 클래스의 static 함수 public class JavaPractice { public static void main(String[] args) { Stri

jkadv.tistory.com

 

문자열을 정수로 바꾸는 Integer.parseInt를 아느냐, 모르느냐,

알면 어떻게 쓰느냐 이정도의 문제인것같다.

 

 

 

문제 설명

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

 

제한 조건

  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 "0"으로 시작하지 않습니다.

 

입출력 예

예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

 

Step1. 문제분석

분석이라 하기도 애매하다. 문자열을 정수로 바꾸는 법만 알면 되기 때문에.

Integer.parseInt를 통해 계산을 하면 바로 끝이다.

 

 

Step2. 문제풀이 코드

class Solution {
  public int solution(String s) {
      
      int answer = 0;
      
      answer = Integer.parseInt(s);
      
      return answer;
  }
}

그냥 이렇게 끝날 문제인줄 알았는데 다른 분들이 풀어놓은 부분을 보니 대단했다.

 

Step3. 다른 사람의 풀이 코드

public class StrToInt {
    public int getStrToInt(String str) {
            boolean Sign = true;
            int result = 0;

      for (int i = 0; i < str.length(); i++) {
                char ch = str.charAt(i);
                if (ch == '-')
                    Sign = false;
                else if(ch !='+')
                    result = result * 10 + (ch - '0');
            }
            return Sign?1:-1 * result;
    }
    //아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String args[]) {
        StrToInt strToInt = new StrToInt();
        System.out.println(strToInt.getStrToInt("-1234"));
    }
}

어떻게 본다면 Integer.parseInt를 분해.....

이런식으로 해보는것도 엄청난 공부가 될것같다.

 

더욱 간단하게 하려면

public class StrToInt {
    public int getStrToInt(String str) {
                return Integer.parseInt(str);
    }

바로 리턴을 하는 법도 있다.

댓글