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):
return int(s)
프로그래머스에서 가장 쉬운 문제가 아닐까
🔋 다른사람 풀이
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]을 하면 문자열 str을 뒤에서부터 앞으로 간다.(거꾸로 뒤집기)
number가 음수라면 -1을 곱한 값을 리턴한다.(마지막에 실행될 코드)
그렇지 않다면 number를 int로 변환한 값에 10의 idx승을 곱한다.
ex) "-1234"
"4321-" = -1 * (4 * (10 ^ 0) + 3 * (10 ^ 1) + 2 * (10 ^2) + 1 * (10 ^ 3))
반응형
'coding test' 카테고리의 다른 글
[파이썬] 시저 암호 (0) | 2020.12.24 |
---|---|
[파이썬] 내적 (0) | 2020.12.24 |
[파이썬] 숫자의 표현 (0) | 2020.12.23 |
[파이썬] 수박수박수박수박수박수? (0) | 2020.12.23 |
[파이썬] 소수 구하기 (0) | 2020.12.21 |