본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / 문자열을 정수로 바꾸기

문제 설명

 

 

문제 해결

 

이미 파이썬에는 문자열을 정수로 바꾸는 함수가 존재한다.

 

def solve(s):
    return int(s)

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

 

물론 직접 구현하는 방법도 존재한다.

맨앞에 부호가 존재할 수도 안 존재할 수도 있다. (1234, -1234, +1234)

해당 사항만 유의하고 문제를 풀면 쉽게 풀 수 있다.

 

def solve(s):
    res = 0
    sign = 1
    start = 0
    if s[0] == '+' or s[0] == '-':
        sign = -1 if s[0] == '-' else 1
        start = 1
    for i in range(start, len(s)):
        res += (ord(s[i]) - 48) * (10**(len(s) -i-1))
    res = sign * res
    return res
        
        
def solution(s):
    answer = solve(s)
    return answer