출처 : https://programmers.co.kr/learn/courses/30/lessons/64065
문제 풀이 팁
Python 기본 내장 함수 중에, eval() 이라는 함수가 있다.
eval() 함수
eval()함수는 문자열을 입력받아서, 실행한 결과값을 돌려주는 함수이다.
>>> eval('1+2+3')
6
>>> eval('[1,2,3,4,5]')
[1, 2, 3, 4, 5]
>>> a = 'i n t e r e s t i n g'
>>> eval('a.split()')
['i', 'n', 't', 'e', 'r', 'e', 's', 't', 'i', 'n', 'g']
|
cs |
튜플 문제에서 s가 함수의 입력값으로 주어지고 있는데,
s = "{{2},{2,1},{2,1,3},{2,1,3,4}}" 처럼, 변수 s에 저장된 값이 문자열이기 때문에 eval()함수를 사용하면 편하다.
eval(s)를 바로 하면 안되는 이유는
set()은 원소(=element)값으로 튜플(=tuple)처럼 변하지 않는 값을 받아야 하기 때문이다.
s의 가장 겉껍데기를 set()이 아닌, list()로 만들어주자.
Code
def solution(s):
s = '[' + s[1:-1] + ']'
s_list = eval(s)
s_list.append(set())
s_list.sort(key = lambda x: len(x))
result_list = []
for p in range(1, len(s_list)):
x = s_list[p] - s_list[p-1]
result_list.append(x.pop())
return result_list
|
cs |
'알고리즘 > [Python] 프로그래머스' 카테고리의 다른 글
[Python/프로그래머스/2020 KAKAO BLIND RECRUITMENT] 괄호 변환 (0) | 2020.05.10 |
---|---|
[Python/프로그래머스/2020 KAKAO BLIND RECRUITMENT] 문자열 압축 (0) | 2020.05.09 |
[Python/프로그래머스/2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (0) | 2020.05.07 |
(Python) [2019카카오공채] 후보키 (0) | 2020.03.06 |
(Python) [2020카카오공채] 외벽 점검 (0) | 2020.01.22 |