[프로그래머스] 문자열을 정수로 바꾸기

YoungHyo Choi·2021년 4월 21일
0

Coding Test

목록 보기
25/31

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

문제 설명

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

제한 조건

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

입출력 예

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

풀이

def solution(s):
    answer = eval(s)
    return answer
  • .eval(expression[, globals[, locals]]) : The return value is the result of the evaluated expression. Syntax errors are reported as exceptions.
    (https://docs.python.org/3/library/functions.html)
    문자열로 된 표현식을 계산해서 리턴하는 파이썬 내장 함수
  • 문제의 조건이 간단하기 때문에 사용했다.
def solution(s):
    answer = 0
    
    if s[0] == '+':
        answer = int(s[1:])
    elif s[0] == '-':
        answer = -1 * int(s[1:])
    else:
        answer = int(s)
    return answer
  • s의 맨 앞에는 부호(+, -)가 올 수 있다고 했기 때문에 각각의 경우를 나눠서 계산

정리

  • 다른 풀이 중 .int()를 사용한 풀이도 있었는데 .int() 함수의 경우 자동으로 부호 계산을 해주기 때문에 사용 가능했다.
profile
golang과 elasticsearch를 좋아하는 3년차 백엔드 엔지니어입니다.

0개의 댓글