나의 풀이
def solution(s):
data = []
tmp = []
cur = ""
for i in s:
if i.isdigit():
cur = cur + i
if i == ',' and any(cur):
tmp.append(cur)
cur = ""
elif i == '}':
if any(cur):
tmp.append(cur)
cur = ""
if any(tmp):
data.append(tmp)
tmp = []
data.sort(key=lambda x:len(x))
data = [set(i) for i in data]
result = [data[0]]
for i in range(1, len(data)):
result.append(data[i] - data[i - 1])
result = [int(list(i)[0]) for i in result]
return result
다른 풀이
def solution(s):
answer = []
s1 = s.lstrip('{').rstrip('}').split('},{')
new_s = []
for i in s1:
new_s.append(i.split(','))
new_s.sort(key = len)
for i in new_s:
for j in range(len(i)):
if int(i[j]) not in answer:
answer.append(int(i[j]))
return answer
strip으로 {, }을 처리 해줄 수도 있다.
'코딩 테스트 (Coding Test)' 카테고리의 다른 글
[프로그래머스] 2018 카카오 [1차] 뉴스 클러스터링 (0) | 2023.01.18 |
---|---|
[프로그래머스] n^2 배열 자르기 (0) | 2023.01.18 |
[프로그래머스] 위장 - 파이썬 풀이 (0) | 2023.01.18 |
[프로그래머스] 괄호 회전하기 - 파이썬 풀이 (0) | 2023.01.17 |
[프로그래머스] 캐시 - 파이썬 풀이 (0) | 2023.01.17 |