[python 기초] code-kata week1-4

3150 단어 BackendpythonBackend

🖥 Code-kata week1-4


문제

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

num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
예를 들어,

num = 123
return false => 뒤집은 모양이 321 이기 때문
num = 1221
return true => 뒤집은 모양이 1221 이기 때문
num = -121
return false => 뒤집은 모양이 121- 이기 때문
num = 10
return false => 뒤집은 모양이 01 이기 때문


풀이

먼저, 음수의 경우에도 그대로 역순해줘야 하므로 int > str로 바꿔서 비교할 필요가 있다.
1) 받은 인자 num을 변수에 담아서 str화 해주고,
2) 다시num을 str화 하고 역순시켜 다른 변수에 담아준다.
3) 2개를 비교해서 같으면 true, 다르면 false 출력

def same_reverse(num):
	reverse_num = str(num)
    reverse_num.reverse()

하지만 reverse()는 iterable한 형태에만 적용 가능하다.
그래서 list를 입히고 reverse 적용해준 다음, 변수를 출력하는 형태로 가야 한다.

a = str(1234)
x = list(a)
x.reverse()	#reverse는 역순의 상태로 만들어주는 것(return값: none)
print(x)

그래서 slicing 방법으로 바꿔서 작성하면 한 줄로 변경 가능하다.

  • slicing 사용하면 바로 역순 가능 -> [::-1]
  • 따로 if문 작성할 필요 없이, return에 작성하면 됨
def same_reverse(num):
	return str(num) == str(num)[::-1]

좋은 웹페이지 즐겨찾기