Question:
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한사항
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 0으로 시작하지 않습니다.
Example:
numbersresult예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
My answer:
def solution(s):
return int(s)
쉬운 문제였지만 포스팅 한 이유는 reference code가 인상적이었기 때문이다.
reference code:
def strToInt(str):
result = 0
for idx, number in enumerate(str[::-1]):
if number == '-':
result *= -1
else:
result += int(number) * (10 ** idx)
return result
- str[::-1] : 문자 뒤집는다. (일의자리수부터 시작)
- index=0에는 일의자리, index=1에는 십의자리....
- 만약 입력이 [-1234]라면 [4321-]를 만들고 4*10^0+3*10^1+2*10^2+1*10^3 그리고 마지막으로 "-"을 만나면 -1을 곱해주어 음수로 만든다.
-1234"
'Computer Science > 알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스][python] 71485. 스킬트리 (0) | 2021.01.03 |
---|---|
[프로그래머스][python] 71484. 올바른 괄호 (0) | 2021.01.03 |
[프로그래머스][python] 12918. 문자열 다루기 기본 (0) | 2020.12.29 |
[프로그래머스][python] 12916. 문자열 내 p와 y의 개수 (0) | 2020.12.29 |
[프로그래머스][python] 12912. 두 정수 사이의 합 (0) | 2020.12.29 |