[프로그래머스, 12925] 문자열을 정수로 바꾸기 (java)
Problem Solving/Programmers

[프로그래머스, 12925] 문자열을 정수로 바꾸기 (java)

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12925

 

프로그래머스

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

programmers.co.kr

728x90

메모리: 77.2 MB, 시간: 0.04 ms

사용 알고리즘: 문자열

 

Integer 메소드 사용

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

직접 구현

class Solution {
    public int solution(String s) {
        
        int answer = 0;
        
        char[] num = s.toCharArray();
        for(int i = 0; i < num.length; i++) {
            
            answer *= 10;
            
            if(i == 0) { // 맨 앞에 부호가 오는지 확인
                // 마이너스일 경우에는 다음 자리까지 처리
                if(num[i] == '-') {
                    answer = -1 * (num[i + 1] - '0');
                    i++;
                }
                // 숫자일 경우 저장
                else if(num[i] != '+') answer = num[i] - '0';
                // 플러스일 경우에는 따로 처리해주지 않음
            }
            else {
                if(answer < 0) answer -= num[i] - '0';
                else answer += num[i] - '0';
            }
        }
        
        return answer;
    }
}
728x90