NIRVANA
[level 1] 문자열을 정수로 바꾸기 본문
문제
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
문제 풀이 접근법1
1) find함수로 '-'의 여부를 판단한다.
2) 만약 -부호가 있을 경우에는 0에서 int(s)를 빼서 마이너스 부호를 붙여준다.
3) 아니라면 그냥 int()로 str형에서 int형으로 바꾼다.
def solution(s):
answer = 0
find = s.find('-')
if find > 0:
answer = 0 - int(s)
else:
answer = int(s)
return answer
원래는 in으로 찾으려고 했는데 내 생각대로 '-'를 찾지 못해서
find함수를 사용해서 -여부를 판단했다.
아마 내가 코드를 잘못 만들어서 그런 것 같은데 나중에 다시 한번 in으로 풀어봐야지..
참고: https://juun42.tistory.com/17
다른 분들 풀이
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"));
'Coding test(Python3) > Programmers' 카테고리의 다른 글
[level 1] 하샤드 수 (0) | 2023.07.09 |
---|---|
[level 1] 정수 내림차순으로 배치하기 (0) | 2023.07.09 |
[level 1] 정수 제곱근 판별 (0) | 2023.07.07 |
[level 1] 자연수 뒤집어 배열로 만들기 (0) | 2023.07.07 |
[level 1] 문자열 내 p와 y의 개수 (0) | 2023.07.06 |