Programmers_LV2_튜플(2019 카카오 개발자 겨울 인턴십)

jkky98·2023년 10월 16일
0

CodingTraining

목록 보기
25/62

주어진 문자열의 규칙성으로 문자열의 형태를 리스트화 하는 것이 중요하다. 그리고 for문으로 이중리스트를 돌게 하고 선택되는 2차 리스트에 대해서 기존 answer리스트와 차집합을 하여 업데이트 될 요소가 무엇인지 판단한다. 업데이트될 요소를 append로 answer리스트에 계속 순서가 있게 업데이트한다.

def solution(s):
    # 문자열 형태 해체하기
    lst_s = s[2:-2].split("},{")
    lst_s.sort(key = lambda x : len(x)) # 리스트 길이로 정렬, 짧은 것 부터 조회하기 위함
    
    lst_s = [x.split(',') for x in lst_s] # 한번 더 ','로 구분

    answer = []
    for i in lst_s:
        prev = set(answer)
        if len(i) == 1:
            answer.append(i[0])
        else:
            add_p = set(i) - set(answer) # 차집합으로 업데이트 요소 찾기
            answer.append(add_p.pop()) 

    answer = list(map(int, answer)) # 문자열 정수로 변환
    return answer
            
            
profile
자바집사의 거북이 수련법

0개의 댓글

관련 채용 정보