새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/Python

[프로그래머스] 튜플

by 언호 2022. 1. 17.

📖 문제


🧑🏻‍💻 풀이 과정

1) 문제 이해 및 접근

원소들이 순서가 랜덤하게 있을 수 있으므로 길이 순서대로 정렬하였습니다.

또한 원소들을 집합으로 구분하여 현재 없는 원소를 쉽게 찾아내도록 사용하였습니다.

2) 풀이 코드

사용 언어 - Python

def solution(s):
    answer = []
    
    li = sorted(s[2:-2].split('},{'), key=lambda x: len(x)) # 양 끝의 중괄호 삭제,  '},{' 기준으로 원소들 구분 후 원소의 개수순으로 정렬
    
    for e in li:                                            # 각 원소들 반복
        num = set(e.split(',')) - set(answer)               # 정답에 있는 현재 길이의 원소와 정답 원소들의 차집합을 구함
        answer.append(num.pop())                            # 아직 정답에 추가 안된 원소를 추출 및 정답에 추가
        
    answer = list(map(lambda x: int(x), answer))            # 정답 각 원소들을 정수형으로 변경
    
    return answer

print(solution("{{2},{2,1},{2,1,3},{2,1,3,4}}"))

📝 결과 및 학습한 내용

1) 어려웠던 내용

특별히 없습니다.

2) 새롭게 학습한 내용

특별히 없습니다.


🔗 문제 링크

- 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

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

'알고리즘 문제풀이 > Python' 카테고리의 다른 글

[백준] 1707 이분 그래프  (0) 2022.01.19
[백준] 22944 죽음의 비  (0) 2022.01.18
[프로그래머스] 타겟넘버  (0) 2022.01.16
[백준] 6443 애너그램  (0) 2022.01.15
[백준] 15649 N과 M (1)  (0) 2022.01.14

댓글