728x90
https://school.programmers.co.kr/learn/courses/30/lessons/64065
나의 풀이
s값이 string("{{2},{2,1},{2,1,3},{2,1,3,4}}")으로 들어오기 때문에 숫자를 각 list에 담아 길이 순으로 정렬하고 set의 - 연산자를 이용하여 문제를 풀었다.
import re
def solution(s):
answer = []
s = re.split('[{|}]', s)
s = [i.split(',') for i in s]
s.sort(key=lambda x:len(x))
answer.append(int(s[0][0]))
for i in range(1,len(s)):
num = set(s[i])-set(s[i-1])
answer.append(int(num.pop()))
return answer
다른 사람의 풀이
풀이 방식은 비슷하지만 re를 쓰지 않고 처리하였다.
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
728x90
'Coding Test > programmers' 카테고리의 다른 글
[Python] 파이썬 프로그래머스 n^2 배열 자르기 (0) | 2023.02.27 |
---|---|
[Python] 파이썬 프로그래머스 귤 고르기 (0) | 2023.02.27 |
[Python] 파이썬 프로그래머스 캐시 (0) | 2023.02.10 |
[Python] 파이썬 프로그래머스 H-index (0) | 2023.02.10 |
[Python] 파이썬 프로그래머스 무인도 여행 (0) | 2023.02.09 |