[LeetCode] Check If N and Its Double exist

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

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

Check If N and Its Double exist

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

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

์ฃผ์–ด์ง„ ์ •์ˆ˜๋ฐฐ์—ด์—์„œ,
ํŠน์ • ์›์†Œ n์— ๋Œ€ํ•˜์—ฌ n*2 ์›์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ๋ฌธ์ œ

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

๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์€
1) ๊ฐ™์€ ์›์†Œ๋Š” ๋˜ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋‹ˆ ์ง‘ํ•ฉ(set)๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ 
2) ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ
3) ์›์†Œ์— ๊ณฑํ•˜๊ธฐ2๋‚˜ ๋‚˜๋ˆ„๊ธฐ2๋ฅผ ํ•œ ๊ฐ’์ด set์— ์—†๋‹ค๋ฉด add,
4) ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ True๋ฅผ, ๋ฐ˜๋ณต๋ฌธ์ด ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ์—†๋‹ค๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋‹ค์‹œ ํ’€์–ด์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
๋ !

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

class Solution(object):
    def checkIfExist(self, arr):
        """
        :type arr: List[int]
        :rtype: bool
        """
        temp  = set()
        temp.add(arr[0])
        for a in arr[1:]:
            if a*2 in temp or a/2.0 in temp:
                return True
            else:
                temp.add(a)
   
        return False




profile
๊ฐ€์žฌ๊ฐ™์€ ์‚ฌ๋žŒ

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