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

vvo_ter·2022년 10월 6일
0

프로그래머스

목록 보기
10/28
post-thumbnail

💻 문제 - Lv.1


👉 제출 코드

def solution(s):
    if s[0] == '+':
        answer = int(s[1:])
    elif s[0] == '-':
        answer = int(s[1:]) * (-1)
    else:
        answer = int(s)
    return answer
  • 세가지 경우를 나누어 처리한다
    • '+'가 처음 오는 경우
    • '-'가 처음 오는 경우, -1을 곱한다
    • 숫자로만 이루어진 경우
  • 공통적으로, 부호를 제외한 나머지를 int()를 사용하여 형변환한다

🙏 다른 사람의 풀이 보기

def solution(s):
	return int(s)
  • int()는 + - 를 부호로 인식한다
def solution(s):
    result = 0

    for idx, number in enumerate(s[::-1]):
        if number == '-':
            result *= -1
        # elif 추가
        elif number == '+':
        	continue
        else:
            result += int(number) * (10 ** idx)

    return result
  • int()를 사용하지 않는다
  • s[::-1]로 문자열을 뒤집는다(= reversed())
  • enumerate()를 사용하여 인덱스와 원소를 동시에 접근한다
  • else문
    "-1234"가 "4321-"이 된 상태에서 다음과 같이 계산한다
     4 * (10 ** 0) + 3 * (10 ** 1) + 2 * (10 ** 2) + 1 * (10 ** 3) 
  • elif를 추가하여 int('+')를 처리한다
profile
's Coding Memory

0개의 댓글