[LeetCode] Reverse Integer

CHOI YUN HOยท2021๋…„ 6์›” 10์ผ
0

๐Ÿ“ƒ ๋ฌธ์ œ ์„ค๋ช…

Reverse Integer

[๋ฌธ์ œ ์ถœ์ฒ˜ : LeetCode]

๐Ÿ‘จโ€๐Ÿ’ป ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ฃผ์–ด์ง„ ์ •์ˆ˜๋ฅผ ๋’ค์ง‘์–ด์„œ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€๋‹ค.

๋‚˜๋Š” ์šฐ์„  ์Œ์ˆ˜์ธ์ง€ ์–‘์ˆ˜์ธ์ง€๋ฅผ ํŒ๋‹จํ•œ ํ›„์—,
์Œ์ˆ˜๋ฉด ์–‘์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ 

๋ชซ๊ณผ ๋‚˜๋จธ์ง€๋ฅผ ์ด์šฉํ•ด์„œ ์ •์ˆ˜๋ฅผ ๋’ค์ง‘์–ด์ฃผ์—ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์–ด๋ ต์ง€ ์•Š์•˜์ง€๋งŒ ๊ถ๊ธˆํ•œ๊ฒŒ ์ƒ๊ฒผ๋‹ค.
์œ„ ํ’€์ด๋ฐฉ๋ฒ•๋Œ€๋กœ ํ‘ผ ์ฝ”๋“œ์—์„œ
while๋ฌธ์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์‹คํ–‰์‹œ๊ฐ„์ด ๋งŽ์ด ์ฐจ์ด๋‚ฌ๋‹ค.

์ˆœ์„œ๋Œ€๋กœ x > 0, x, x != 0 ์˜ ์กฐ๊ฑด์ผ ๋•Œ ์‹คํ–‰์‹œ๊ฐ„์ธ๋ฐ
๋ณด๋‹ค์‹œํ”ผ x != 0 ์ผ ๋•Œ ๋Ÿฐํƒ€์ž„์ด ๊ฐ€์žฅ ์งง๋‹ค.

์–ด์ฐจํ”ผ ์–‘์˜ ์ •์ˆ˜๋ฅผ ๋” ์ด์ƒ ๋‚˜๋ˆ ๋–จ์–ด์ง€์ง€ ์•Š์„ ๋•Œ ๊นŒ์ง€ 10์œผ๋กœ ๋‚˜๋ˆŒ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์—,
0์ด ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๋ฉด ๋œ๋‹ค๋Š” ์ƒ๊ฐ๋งŒ ํ–ˆ๋Š”๋ฐ,

while๋ฌธ์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ ๋•Œ๋งˆ๋‹ค ํ™•์ธํ•˜๋Š” ์ ˆ์ฐจ(?)๊ฐ€ ๋งŽ์•„์ง€๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๋Ÿฐํƒ€์ž„์ด ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ช…์‹œํ•œ x != 0 ์ผ ๋•Œ๊ฐ€ ๋Ÿฐํƒ€์ž„์ด ๊ฐ€์žฅ ์ ๋‹ค.
0์ธ์ง€๋งŒ ํ™•์ธํ•ด์„œ ๋ฐ˜๋ณตํ• ์ง€ ์ข…๋ฃŒํ• ์ง€ ์ •ํ•˜๋Š”๊ฑฐ๋ผ์„œ ๊ทธ๋Ÿฐ๊ฐ€??

์ด๊ฑด ๊ทธ๋ƒฅ ๋‚ด ์ถ”์ธก์ธ๋ฐ ์–ธ์–ด๋‚˜, ์ปดํŒŒ์ผ๋Ÿฌ๋ณ„๋กœ ์ฐจ์ด๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์ •ํ™•ํžˆ ์–ด๋–ค ์ฐจ์ด์— ์˜ํ•ด์„œ ๋Ÿฐํƒ€์ž„์˜ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•˜๋‹ค.

๋ˆ„๊ฐ€ ์ข€ ์•Œ๋ ค์ฃผ์„ธ์š”

์˜ค๋žœ๋งŒ์— ํฅ๋ฏธ๋กœ์šด ๊ณ ๋ฏผ์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์žฌ๋ฏธ์žˆ๋Š” ๋ฌธ์ œ์˜€๋”ฐ !

๐Ÿ‘จโ€๐Ÿ’ป ์†Œ์Šค ์ฝ”๋“œ

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        flag = 1

        if x < 0:
            flag = -1
            x *= -1

        answer = 0
        while x != 0:
            answer = answer * 10 + x % 10

            if answer >= 2 ** 31:
                return 0
            x //= 10

        return answer * flag
profile
๊ฐ€์žฌ๊ฐ™์€ ์‚ฌ๋žŒ

0๊ฐœ์˜ ๋Œ“๊ธ€