본문 바로가기
Algorithm

문자열을 정수로 바꾸기

by suyeoneee 2024. 11. 14.

# 문제설명

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

 

# 제한 조건

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

# 입출력 예

예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.

str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.


 

이 문제는 문자열을 숫자로 변환시키는 문제이다.

문자열 s를 "Integer.parseInt" 메서드를 통해 숫자 answer로 바로 변환할 수 있긴 하지만 해당 메서드를 사용하지 않고 풀어보았다.

 

class Solution {
    public int solution(String s) {
        int answer = 0;
        
        if(s.charAt(0) == '-' || s.charAt(0) == '+'){ // 맨 앞 부호에 '+'가 올 수도 있음 주의
            for(int i=1; i<s.length(); i++){
                answer = answer * 10 + (s.charAt(i) -'0'); //i++ 하면서 자릿수가 바뀌는 것이므로 10씩 곱해주기
            }
            if(s.charAt(0) == '-')
                answer = answer * (-1); // -1을 곱하여 음수로 만들어준다
        }
        else {
            for(int i=0; i<s.length(); i++){
                answer = answer * 10 + (s.charAt(i) -'0');
            }
        }
            
        
        return answer;
    }
}

 

'Algorithm' 카테고리의 다른 글

정수 내림차순으로 배치하기  (0) 2024.11.18

댓글