[프로그래머스,Level 1] 문자열을 정수로 바꾸기(JAVA 구현)
코테/프로그래머스(Programmers)

[프로그래머스,Level 1] 문자열을 정수로 바꾸기(JAVA 구현)

반응형

- 첫 풀이

  처음에는 문자열로 받은 숫자를 charAt() 메서드를 이용해 하나하나 파싱 하여 정수로 변환하려는 과정을 시도했다.    (바보 같다.)

class Solution {
    public int solution(String s) {
        int answer = 0;
        int num = 1000;        

        for(int i=0;i<s.length();i++){
            if(s.charAt(i) == '-') continue;
            answer+=((s.charAt(i)-'0')*num);
            num/=10;
        }

        if(s.charAt(0) == '-') answer*=-1;

        return answer;
    }
}

  보면 알겠지만, 입출력 예로 주어진 4자리 정수만을 고려해 각각의 수를 추출해 자릿수를 곱해주는 방식을 시도했다가 많은 오답처리를 받았다. 반례를 잠깐 생각해보니 바로 -1이 떠올랐고, 동시에 다른 풀이 방법이 생각났다.

 

- 정답 풀이

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

  자바에서 제공하는 Integer클래스의 parseInt() 메서드를 이용해 음수와 양수 모두 정수로 변환이 가능하기 때문에 간단하게 해결할 수 있었다.

반응형