[JAVA/프로그래머스] 연습문제: 문자열을 정수로 바꾸기

👀 문제

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

👊 도전

1. 설계

  1. startsWith()으로 앞에 부호가 있는지 체크, 있다면 substring()으로 앞을 제외하고 숫자로 바꾼다.
  2. 부호가 없다면 바로 parseInt()를 사용한다.

2. 구현 (성공 코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 *
 * @author HEESOO
 *
 */
 class Solution {
  public int solution(String s) {
      int answer = 0;
      if(s.startsWith("+"))
        answer=Integer.parseInt(s.substring(1,s.length()));
      else if(s.startsWith("-"))
        answer=Integer.parseInt(s.substring(1,s.length()))*(-1);
      else
        answer=Integer.parseInt(s);
      return answer;
  }
}
 

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. startsWith()을 이용해 부호가 있는지 체크한다.
    • 부호가 있다면 맨 앞을 제외한 나머지 문자열을 숫자로 변환한다.
    • 부호가 없다면 바로 parseInt()한다.

👏 해결 완료!

나는 parseInt가 음수인 경우에는 안될거라 생각하고 구현했는데, 직접 해보니 음수도 가능했다. 또 어떤 사람들은 parseInt()를 사용하지 않고 아스키코드를 이용해 푼 사람도 있었다.