ye0nn
영차영차
ye0nn
전체 방문자
오늘
어제
  • 분류 전체보기 (61)
    • CS (0)
      • 운영체제 (0)
      • 네트워크 (0)
      • 알고리즘 & 자료구조 (0)
    • 코딩테스트 (48)
      • 프로그래머스 (40)
      • 백준 (8)
    • 프로그래밍 (11)
      • 프론트엔드 (3)
      • 자바스크립트 (0)
      • 스위프트 (7)
      • 파이썬 (1)
    • 취준기록 (1)

인기 글

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

hELLO · Designed By 정상우.
ye0nn

영차영차

[프로그래머스] Level 2 - 튜플 (Python)
코딩테스트/프로그래머스

[프로그래머스] Level 2 - 튜플 (Python)

2022. 5. 13. 22:01

 

 

 

 

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

 

 

 

 

✅ Solution

  • replace를 이용해 중괄호를 대괄호로 바꾼 뒤, eval을 이용해 배열로 나타낸다.
  • 배열을 길이로 정렬한다. 
    • 집합 내부에서 요소 순서가 뒤바뀔 수도 있으니까 길이가 1인 거부터 비교하면서 요소 찾기
    • {{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}} -> [[2], [2, 1], [1, 2, 3], [1, 2, 4, 3]] -> [2, 1, 3, 4]
  • 전체 돌면서 answer에 없는 요소들을 넣어준다.

 

 

 

✅ Code

def solution(s):
    answer = []
    s = eval(s.replace("{", "[").replace("}", "]"))

    s.sort(key=lambda x: len(x))

    for i in s:
        for j in i:
            if not int(j) in answer:
                answer.append(int(j))

    return answer

 

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] Level 2 - [1차] 캐시 (Python)  (0) 2022.05.17
[프로그래머스] Level 2 - [1차] 프렌즈4블록 (Python)  (0) 2022.05.17
[프로그래머스] Level 2 - 후보키 (Python)  (0) 2022.05.13
[프로그래머스] Level 2 - 메뉴 리뉴얼 (Python)  (0) 2022.05.13
[프로그래머스] Level 2 - 오픈채팅방 (Python)  (0) 2022.05.13
    '코딩테스트/프로그래머스' 카테고리의 다른 글
    • [프로그래머스] Level 2 - [1차] 캐시 (Python)
    • [프로그래머스] Level 2 - [1차] 프렌즈4블록 (Python)
    • [프로그래머스] Level 2 - 후보키 (Python)
    • [프로그래머스] Level 2 - 메뉴 리뉴얼 (Python)
    ye0nn
    ye0nn
    프론트엔드 개발자의 개발기록

    티스토리툴바