์ซ์์ธ num
์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ฉด, ๋ค์ง์ ๋ชจ์์ด 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 ์ด๊ธฐ ๋๋ฌธ
def same_reverse(num):
str_num = str(num)
r_str_num = str_num [::-1] #๋ค์์๋ถํฐ ์ถ๋ ฅ
if str_num == r_str_num:
return True
else:
return False
def same_reverse(num):
return str(num)[::-1] == str(num)
โก๏ธ ๋ฌธ์์ด์ ๋ค์์๋ถํฐ ์ถ๋ ฅํด์ ๊ธฐ์กด str๊ณผ ๊ฑฐ๊พธ๋ก์ถ๋ ฅํ str์ ๋น๊ตํ๋ค. ํ์ด2๋ ๊ทธ ์ฝ๋๋ฅผ ํ์ค๋ก ๋ง๋ ์ฝ๋์ด๋ค.
strs์ ๋จ์ด๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ ๋๋ค.
๊ณตํต๋ ์์ ๋จ์ด(prefix)๋ฅผ ๋ฐํํด์ฃผ์ธ์.
์๋ฅผ ๋ค์ด
strs = ['start', 'stair', 'step'] return์ 'st'
strs = ['start', 'wework', 'today'] return์ ''
def get_prefix(strs):
if len(strs) == 0:
return ''
prefix = ''
strs.sort()
for i in range(len(strs[0])):
if strs[0][i] == strs[-1][i]:
prefix += strs[0][i]
else:
break
return prefix
โก๏ธ ๋ง์ฝ ๋งจ ์ฒ์ ๋น ๋ฌธ์์ด์ด ๋ค์ด์ค๋ฉด ๋น ๋ฌธ์์ด์ ๋ฆฌํดํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ prefix๋ผ๋ ๋น ๋ฌธ์์ด์ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํด์ค๋ค. ๋ง์ฝ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ๋ฉด ๋ฆฌ์คํธ์ ์์ ๋ฌธ์์ด๋ค์ ์ํ๋ฒณ์์ผ๋ก ์ ๋ ฌ์ด ๋๋ฏ๋ก ๊ฐ์ด๋ฐ๋ ๋น๊ตํด์ค ํ์๊ฐ ์๊ณ ์ฒ์๊ณผ ๋๋ง ๋น๊ตํด์ฃผ๋ฉด ๋๋ค. ๋ฐ๋ผ์ for๋ฌธ์ ๋๋ ์ฒซ๋ฒ์ฌ ๋ฌธ์์ด์ ๊ธฐ์ค ์ฒซ๋ฒ์งธ ๋ฌธ์์ด๊ณผ ๋ง์ง๋ง ๋ฌธ์์ด์ ๋ฐฐ์ด์ ํ๋์ฉ ๋น๊ตํด๊ฐ๋ฉด์ ๊ฐ์ผ๋ฉด prefix์ ์ถ๊ฐํด์ฃผ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฉ์ถฐ์ prefix๋ฅผ ๋ฆฌํดํ๋ค.