https://school.programmers.co.kr/learn/courses/30/lessons/64065
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ์ดํดํ๊ธฐ
๋ฌธ์ ์ ์ฃผ์ด์ง ํํ (2,1,3,4)์ n-ํํ์ ๊ตฌํด๋ณด์.
a1 : {2}
a2 : {2,1} == {1,2}
a3 : {2,1,3} == {1,2,3} == {1,3,2} == {2,3,1} == {3,1,2} == {3,2,1}
a4 : {2,1,3,4} == {1,2,3,4} == {1,2,4,3} == {1,3,2,4} == {1,3,4,2} == ....
๋ฐ๋ผ์ ํํ (2,1,3,4)๋ { a1 , a2์ค ํ๋, a3์ค ํ๋, a4์ค ํ๋ } ์ ๋ฌธ์์ด๋ก ํํ๋ ๊ฒ์ด๋ค. (์์๋ ์์ผ ์ ์์)
๋ฌธ์ ์์ ์์๋ ์ด๋ ๊ฒ ์ ์ค๋ช ๋์ด ์๋ค.
์์ด๋์ด
์ฃผ์ด์ง ๋ฌธ์์ด s์ ์๋ '{'์ '}'๋ฅผ ์ ๊ฑฐํ๋ค.
s๋ฅผ '},{' ๊ธฐ์ค์ผ๋ก splitํ๊ณ , ๊ทธ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์์ ์์ผ๋ก ์ ๋ ฌํ๋ค.
์ ๋ ฌํ ๋ฆฌ์คํธ๋ a1, a2, a3, a4, ... , an์ ์ฐจ๋ก๋ก ๋ด๊ฒ ๋๋ค.
answer ๋ฆฌ์คํธ์ [a1, a2์ ์๋กญ๊ฒ ๋ฑ์ฅํ๋ ์, a3์ ์๋กญ๊ฒ ๋ฑ์ฅํ๋ ์ ... ] ์์ผ๋ก ์ถ๊ฐํ๋ฉด ์ ๋ต์ด ๋๋ค.
์ ์ถ ์ฝ๋
def solution(s):
answer = []
s = s.strip("{}")
lst = s.split("},{")
lst.sort(key = lambda x : (len(x)))
for i in lst:
for j in i.split(","):
if int(j) not in answer:
answer.append(int(j))
return answer
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > -' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2023.06.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ (0) | 2023.06.08 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ (0) | 2023.06.03 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ ฌ์ ๊ณฑ์ (0) | 2023.06.02 |
[ํ๋ก๊ทธ๋๋จธ์ค] H-Index (0) | 2023.06.02 |