본문 바로가기
프로그래머스/lv1

[12925] 문자열을 정수로 바꾸기 python3

반응형

문제 설명

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

제한 사항

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

입출력 예 

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

문제 풀이

1. Int를 이용해 문자열을 숫자로 바꿔준다.

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

solution("-1234")

 

다른 사람 문제 풀이

1. 문자열을 거꾸로 만든 후 idx를 하나씩 배정합니다.

(number = 4 면 idx = 0 , number = 3 면 idx = 1 , number = 2 면 idx = 2 , number = 1 면 idx = 3 , number = -1 이면 idx =4)

2. result 에 해당 값을 저장하고 number가 마이너스 기호일 때 -1 을 곱해줍니다.

def strToInt(str):
    result = 0

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

    return result


# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(strToInt("-1234"));