TIL | [알고리즘] 문자열을 정수로 바꾸기(Java)

hyemin·2022년 3월 11일
0

알고리즘

목록 보기
5/38
post-thumbnail

THINKING

처음에 Integer.parseInt() 를 알고 있어서 쉬운데...?하면서 썼다가 다른 문제 풀이를 보면서 함수말고 다른 방법으로 써야된다는 것을 깨달았다. 나는 함수가 아니라 알고리즘 문제를 푸는 것이니까!!

  1. 문자열 길이만큼 반복해서 한 글짜씩 빼내자 - for, charAt()
  2. 부호에 따라 나누자 - if-else if-else
  3. charAt()를 반복하면서 *10을 통해 숫자를 반환

내 풀이

Integer.parseInt() 사용

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

2번째 풀이

class Solution {
    public int solution(String s) {
        boolean Sign = true;
        int result = 0;
        
        for (int i = 0; i < s.length(); i++) {
                char ch = s.charAt(i);
                if (ch == '-')
                    Sign = false;
                else if(ch !='+')
                    result = result * 10 + (ch - '0');
            }
        return Sign ? result : -1 * result;
    }
} 

ch-'0'은 예를들어 s=1234일 때 첫번째 for문을 돌때 ch = '1'이다. '1'-'0'은 유니코드로보면 49-48로 숫자 1이 나온다.

0개의 댓글