티스토리 뷰

728x90

https://programmers.co.kr/learn/courses/30/lessons/64065

 

코딩테스트 연습 - 튜플

"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]

programmers.co.kr

 

  • 해설 :

원소가 하나씩 증가하는 배열이 주어질 때, 이 배열에서 최종적으로 원래의 n-tuple을 찾으면 된다.

 

 

 

  • 풀이 :

우선 주어진 input값을 가공하는 과정이 필요하다. tuple의 형태로 주어지지만 사실 문자열로 주어지는 데이터이기 때문에 },{를 기준으로 split하여 문자열을 가공해주었고 이를 길이순으로 sort하여 한 개씩 새로 추가되는 요소를 구별하고자 하였다. 이 배열의 원소들 중 answer 배열에 없는 원소를 append하여 원래의 n-tuple을 찾아냈다.

 

 

 

 

1
2
3
4
5
6
7
def solution(s):
    answer = []
    for i in sorted(''.join(s[2:-2]).split("},{"),key = lambda x : len(x)):
        for j in i.split(","):
            if int(j) not in answer:
                answer.append(int(j))
    return answer
cs
320x100
댓글
© 2022 WonSeok, All rights reserved