NIRVANA

[level 1] 문자열을 정수로 바꾸기 본문

Coding test(Python3)/Programmers

[level 1] 문자열을 정수로 바꾸기

녜잉 2023. 7. 7. 21:08

문제

문자열 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

 

[파이썬] 특정 문자열이 포함되는지 확인하는법.

Python에서 어떤 문자열에 특정 문자열이 포함되어있는지 확인하는 법에 대해 알아보겠습니다. a = "hello world!" b = "hi world!" c = "world hi!" d = "hi" 위의 경우에서 "hi"라는 문자열이 a, b, c에 포함되어있

juun42.tistory.com


 

다른 분들 풀이

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"));