CK 017 | Week 1 - Day 2, Day 4

This Is Empty.·2021년 9월 16일
1

codekata

목록 보기
17/35

간단한 문제 & 비슷한 유형이라 묶어서 작성!

Day2 문제

reverse 함수에 정수인 숫자를 인자로 받습니다.

그 숫자를 뒤집어서 return해주세요.

내가 작성한 풀이

def reverse(number):
    # 여기에 코드를 작성해주세요.
    return int(str(number)[::-1]) if number >= 0 else -int(
        str(number).strip("-").strip("0")[::-1])

다음 두가지 유형에 따라 분류된다고 생각했다.

  1. 0 또는 양수일때
  2. 음수일때

  1. 0 또는 양수일때 : number를 문자열로 바꾼 후 뒤집어 다시 정수형으로 변환한다.
int(str(number)[::-1]) if number > 0
  1. 음수일때 : number를 문자열로 바꾼 후 문자열 앞 뒤에 0이나 -가 있으면 제거하고 뒤집어 음수형 정수로 반환한다.
else -int(str(number).strip("-").strip("0")[::-1])

나뉘는 이유는 음수를 문자열로 바꾼 후 뒤집으면 -도 뒤집혀 맨 뒤로 가기 때문이다. 파이썬은 맨 앞에 0이 붙으면 정수형으로 변환되지 않기 때문에 미리 0도 제거해준다.

Day4 문제

숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

내가 작성한 풀이

Day2문제보다 더 간단하다.

def same_reverse(num):
    # 아래 코드를 입력해주세요.
    return str(num) == str(num)[::-1]

단순히 뒤집어서 비교를 해 주면 된다. 정수형으로 바꿀 필요도 없다!

profile
Convinced myself, I seek not to convince.

0개의 댓글