자바 초급문제로 맨땅에 해딩하기

자바 초급문제 6. 문자열을 정수로 바꾸기

Jungsoomin :) 2020. 3. 29. 00:41

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12925)

자바 +  초급문제의 문자열을 정수로 바꾸기 이다.

 

문제 설명

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

제한 조건

  • s의 길이는 1 이상 5이하입니다.

  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.

  • s는 부호와 숫자로만 이루어져있습니다.

  • s는 0으로 시작하지 않습니다.

입출력 예

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
  public int solution(String s) {
        int answer =0;
        /* s.length 1~5
         * +,-의 부호가 올 수 있다.
         * s는 부호와 숫자로만 이루어져있다.
         * 0으로 시작하지 못한다.
        */
        
        
        answer =Integer.parseInt(s);
        
        
            
            if(s.equals("-") ) {
                
                answer = -answer;
                
            }else {
                answer = answer;
            }
        
    
        //
        return answer;        
    }
}
cs

 

주석으로 로직의 핵심을 적어놓고 시작했다. 간략화가 필요했고, 일단 적어보고 시작한 문제다.

입력값 s는 String 타입이고 answer는 int타입이니 String 타입을 인트타입으로 바꿔주는 문자열을 정수값으로 바꾸어 주는 방법이 필요했고.

 

부호기호의 유무판단이 필요하기 때문에 if문을 돌려서 문자열로 -부호가 있다면 answer의 부호를 반전시키고

없다면 answer는 그대로 출력한다.

 

주의해야할 점은 Integer.parseInt(); 의 사용이다. ()안의 숫자 문자열을 int타입의 십진수로 변환시킨다.

()안에 (숫자, 진수) 를 넣어서 진수에 따라 변환시킬 수도 있다는 점 알아두자. 

 

풀고 난 뒤 점수 캡처를 하지 못했다.

 

시간을 투자한 만큼

 

재미있었고, 유익했고 뿌듯했다.  :)