본문 바로가기

Python Coding Test

[프로그래머스/파이썬] Lv.1 문자열을 정수로 바꾸기

문제 설명

문자열 s를 숫자로 변환하기

 

제한조건

  • s의 길이 : 1 이상 5 이하
  • s의 맨 앞에는 부호(+,-)가 올 수 있다.
  • s는 부호와 숫자로 이루어짐
  • s는 "0"으로 시작하지 않는다.

입출력 예

str이 "1234" 이면 1234를 반환하고, "-1234"이면 -1234를 반환한다.

str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없다.

나의 풀이

def solution(s):
    answer = int(s)
    return answer

 

int() 함수를 사용하면 문자열을 바로 정수형 int 로 바꿀 수 있다.

다른 사람의 풀이

def strToInt(str): 
    result = 0
    for idx, number in enumerate(str[::-1]):
        if number == '-':
            result *= -1
        else:
            result += int(number) * (10 ** idx)
    return result

 

단순히 int() 함수를 사용하지 않고, 부호를 해결하고 넘어가려는 코드이다.