๋ฌธ์
reverse ํจ์์ ์ ์์ธ ์ซ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค.
๊ทธ ์ซ์๋ฅผ ๋ค์ง์ด์ returnํด์ฃผ์ธ์.
x: ์ซ์
return: ๋ค์ง์ด์ง ์ซ์๋ฅผ ๋ฐํ!
์๋ค ๋ค์ด,
x: 1234
return: 4321
x: 1234
return: 4321
x: -1234
return: -4321
x: -1234
return: -4321
x: 1230
return: 321
ํ์ด
์ฒ์์ ๋น์ฅ ๋ ์ค๋ฅธ ํจ์๋ reverse()
์๋ค.
์ผ๋จ ์ซ์๊ฐ ์์์ผ์๋ ์์ผ๋ฏ๋ก, 1)์์์ผ ๊ฒฝ์ฐ์ 2)์์์ผ ๊ฒฝ์ฐ 2๊ฐ์ง๋ก ๋๋ ์ ์๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ซ์๋ฅผ reverseํ๋๋ผ๋ ์์์์ ๊ฒฝ์ฐ ๋ค์ -๋ฅผ ๋ถ์ฌ์ผ ํ๋ฏ๋ก, ์๋ ์ซ์๋ ๋ฐ๋ก ๋ณ์์ ๋ด์๋๋ค.
def reverse(number):
# ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
# ์๋ณธ์ original_num์ ๋ด๊ธฐ
original_num = number
#x๊ฐ 0๋ณด๋ค ์์ ๊ฒฝ์ฐ, 0๋ณด๋ค ํฐ ๊ฒฝ์ฐ๋ก ๋๋๊ธฐ
#number๊ฐ ์์์ผ ๊ฒฝ์ฐ ์ ๋๊ฐ์ผ๋ก ๋จผ์ ๋ฐ๊พผ๋ค.
if number < 0:
number = abs(number)
#reverse() ์ฌ์ฉํด์ ์ญ์ํ
...
#์๋ ์์์์ ๊ฒฝ์ฐ, -๋ฅผ ๋ถ์ฌ์ return ํ๋ค.
if original_num <0:
...
์ด์ reverse๋ฅผ ํด์ผ ํ๋๋ฐ, reverse()
๋ ์๋ฃ๊ฐ listํ์ด์ด์ผ ํ๋ฏ๋ก ์ซ์๋ฅผ int > str๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ค.
number
์ list(str(number))
๋ฅผ ๋ด์ผ๋ฉด, ๋ฌธ์ํ์ผ๋ก ์ชผ๊ฐ์ง ์ซ์๊ฐ list์ ๋ด๊ธด๋ค. ์ฌ๊ธฐ์ reverse()
๋ฅผ ์ ์ฉํ๋ฉด ๋จ.
๊ทธ๋ฆฌ๊ณ int(''.join(number))
๋ฅผ ์
๋ ฅํ๋ฉด,
1) list์์๋ก ์กด์ฌํ๋ ๊ฐ ์ซ์๊ฐ ๊ณต๋ฐฑ์์ด ์ด์ด์ง
2) int()
๋ก ๊ฐ์ธ์ 0์ด ๋งจ์์ ์ฌ ๊ฒฝ์ฐ ์ ๊ฑฐ๋จ
์ต์ข ์ฝ๋ฉ์ ์๋์ ๊ฐ๋ค.
def reverse(number):
original_num = number
if number < 0:
number = abs(number)
#reverse() ์ฌ์ฉํด์ ์ญ์ํ
number = list(str(number))
number.reverse()
number = int(''.join(number))
result = int(str(number)) #1234 -> 4321
#์๋ ์์์์ ๊ฒฝ์ฐ, -๋ฅผ ๋ถ์ฌ์ return ํ๋ค.
if original_num <0:
return -result
#์๋ ์์์๋ค๋ฉด, ๋ฐ๋ก return
return result