๐ฅ Code-kata week2-3
๋ฌธ์
s๋ ์ฌ๋ฌ ๊ดํธ๋ค๋ก ์ด๋ฃจ์ด์ง String ์ธ์์
๋๋ค. s๊ฐ ์ ํจํ ํํ์ธ์ง ์๋์ง true/false๋ก ๋ฐํํด์ฃผ์ธ์.
์ข ๋ฅ๋ '(', ')', '[', ']', '{', '}' ์ผ๋ก ์ด 6๊ฐ ์์ต๋๋ค. ์๋์ ๊ฒฝ์ฐ ์ ํจํฉ๋๋ค.
ํ ๋ฒ ๊ดํธ๋ฅผ ์์ํ์ผ๋ฉด, ๊ฐ์ ๊ดํธ๋ก ๋๋ด์ผ ํ๋ค. ๊ดํธ ์์๊ฐ ๋ง์์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ต๋๋ค.
s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
ํ์ด
์ผ๋จ ์กฐ๊ฑด์ ๋ง์ผ๋ ค๋ฉด, ๋ฌด์กฐ๊ฑด ํ ์์ ๊ดํธ๋ ๋ฐ๋ก ์์์ ๋ถ์ด์์ด์ผ ํ๊ณ , ๋ณต์์ ๊ฐ์๊ฐ ์์ผ๋ฏ๋ก ๋ค ๊ฑธ๋ฌ๋ด์ผ ํ๋ค.
๊ทธ๋์ ๊ดํธ ๊ฐ 6๊ฐ๋ฅผ 3๊ฐ ์์ผ๋ก ๋ง๋ค์ด์ list๋ก ๋ฌถ๊ณ , ์ด list์ ๊ฐ์ for๋ฌธ์ผ๋ก ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
lst = ["()","[]","{}"]
def is_valid(string):
lst = ["()","[]","{}"]
for i in range(len(string)):
for l in lst:
while l in string:
string = string.replace(l,'')
if string == "": return True
return False
์ถ๊ฐ point: del
๊ณผ remove
del
: ์์ฝ์ด, index๊ฐ์ผ๋ก ์ญ์ (์์: del string[1]
) remove
: ๊ฐ์ผ๋ก ์ญ์ (์์: string.remove('[]')
)