반응형
기본적인 파이썬 함수들을 잘 알고 있으면 쉬운 문제였다.
나는 이 문제를 풀면서 eval()이라는 함수를 처음 접하게 되었다.
eval()은 ""를 없애주고 본연의 값만 가져온다
def solution(s): #"{{1,2,3},{2,1},{1,2,4,3},{2}}"
answer=[]
s = list(eval(s[1:-1])) #[{1, 2, 3}, {1, 2}, {1, 2, 3, 4}, {2}].......1
if len(s) == 1:
answer.append(s[0])
else:
temp=sorted(s,key=lambda x: len(x)) #[{2}, {1, 2}, {1, 2, 3}, {1, 2, 3, 4}].......2
temp=[list(i) for i in temp] #[[2], [1, 2], [1, 2, 3], [1, 2, 3, 4]]......3
for item in temp:
for j in range(len(item)):
if item[j] not in answer:
answer.append(item[j])
else: continue
return answer
1번에서는 리스트형식으로 만들어준다.
2번에서는 개수가 적은 순서대로 정렬해준다.
3번에서는 안에 각각을 리스트 형태로 만들어준다.
카카오 문제에서 쉬운 편이라고 하지만 나는 낮설어서 어려웠다ㅜㅜ 나 아직 많이 부족하다.
반응형
'알고리즘 > 카카오 기출문제' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : [1차] 비밀지도 (0) | 2021.05.07 |
---|---|
[파이썬🐍] 프로그래머스 : 키패드 누르기 (0) | 2021.05.05 |
[파이썬🐍] 프로그래머스 : 실패율 (0) | 2021.04.22 |
[파이썬🐍] 프로그래머스 : 신규 아이디 추천 (0) | 2021.04.18 |
[파이썬🐍] 프로그래머스 : 크레인 인형뽑기 게임 (0) | 2021.04.15 |
댓글