컴퓨터 프로그래밍/알고리즘

[알고리즘] [Java] String → Int 변환, Integer.parsInt(), char - '0'

한33 2024. 8. 8. 09:38

 

Integer.parseInt(), Integer.valueOf()

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

String 타입의 변수를 숫자로 변환하기 위해 아래 두 방법을 알아봤다.

  • int num = Integer.parseInt(str);
    • String 타입의 num 을 int 타입으로 변환
  • int num = Integer.valueOf(str);
    • String 타입의 num 을 Integer 타입으로 변환

앞에 부호 +,- 를 사용해도 int 안으로 정상적으로 들어간다.

 


char - '0'

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

 

위 코드는 입력받은 String 타입의 str 을 str.charAt() 을 이용해서 문자열 안의 문자 하나 하나에 접근해서 

 

문자열이 - 또는 + 로 시작하는지 검사한다.

 

여기서 ch - '0' 을 이용해 char 타입의 ch 를 int 로 바꿀 수 있다.

 

이는 두 문자의 유니코드의 계산 값이 int 타입으로 암묵적으로 변환된다.