[Python] ํ๋ก๊ทธ๋๋จธ์ค - ํํ
https://school.programmers.co.kr/learn/courses/30/lessons/64065
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ก ์์ด๋์ด
- ๋ฌธ์์ด ์ฒ๋ฆฌํ๊ธฐ
- },{ ๊ธฐ์ค์ผ๋ก ์ฌ๋ผ์ด์ฑํ๊ธฐ
- , ๊ธฐ์ค์ผ๋ก ์ฌ๋ผ์ด์ฑํ๊ธฐ
- ๋ฆฌ์คํธ ๊ธธ์ด ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ์ ๋ต ๋ฐฐ์ด์ ํ๋์ฉ ์ถ๊ฐํ๊ธฐ
ํ ์คํธ ์ผ์ด์ค
s = "{{4,2,3},{3},{2,3,4,1},{2,3}}"
result = [3, 2, 4, 1]
๐ ํ์ด
def solution(s):
answer = []
### ๋ฌธ์์ด ์ฒ๋ฆฌํ๊ธฐ ###
s1 = s.lstrip('{').rstrip('}').split('},{')
# ['4,2,3', '3', '2,3,4,1', '2,3']
new_s = []
for i in s1:
new_s.append(i.split(','))
# [['4', '2', '3'], ['3'], ['2', '3', '4', '1'], ['2', '3']]
### ๊ธธ์ด ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ###
new_s.sort(key = len)
# [['3'], ['2', '3'], ['4', '2', '3'], ['2', '3', '4', '1']]
### answer ํ๋์ฉ ๋ฃ๊ธฐ ###
for i in new_s:
for j in range(len(i)):
# answer์ ๋ฐฐ์ด ์์๊ฐ ์์ผ๋ฉด ๋ฃ๊ธฐ
if int(i[j]) not in answer:
answer.append(int(i[j]))
return answer
solution("{{4,2,3},{3},{2,3,4,1},{2,3}}")
+)
s.lstrip('{') : ๋ฌธ์์ด์ ์ผ์ชฝ ๋์์๋ถํฐ '{' ์ ๊ฑฐ
.rstrip('{') : ์์ ์ ๊ฑฐํ ๋ฌธ์์ด์ ์ค๋ฅธ์ชฝ ๋์์ ๋ถํฐ ')' ์ ๊ฑฐ
.split('},{') : ๋จ์ ๋ฌธ์์ด์ '},{' ๊ธฐ์ค์ผ๋ก ๋ถํ ํ์ฌ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค.
new_s.sort(key = len)
key : sorted ๋ sort์์ ์ฌ์ฉ๋๋ ๋งค๊ฐ๋ณ์. ์ ๋ ฌ ๊ธฐ์ค์ ์ ํ๋ค.
โป sort์ sorted์ ์ฐจ์ด
sortedList = sorted.myList
: sorted๋ ์๋ณธ ๋ฆฌ์คํธ ๋ณ๊ฒฝ ์์ด ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์ป์ ์ ์๋ค.
myList.sort()
: sort๋ ์๋ณธ ๋ฆฌ์คํธ๋ฅผ ์ง์ ๋ฐํํ๋ค.