본문 바로가기

PS/프로그래머스

[프로그래머스 LV 2] 튜플 파이썬/python

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

파이썬이 문자열 최강자임이 드러나는문제;

씨로풀었으면 어떻게풀었을지 벌써 오들오들 떨린다

 

1. 앞과 뒤의 {{, }} 를 제거해주고

2. 숫자단위로 split해준후에

3. sort 로 크기가 1인것부터 오름차순으로 정렬해주고

4. 비교하면서 answer에 넣어준다

 

 

re.findall("\d",list) 이라는 정규표현식으로 풀어도되는데 이건 뭔가 지금당장 안쓸거같아서 ㅎ

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def solution(s):
    answer = []
 
    # 맨 앞과 뒤의 {{, }} 를 지워줌
    slice_s = s[2:-2]
    # 문자열에서 숫자만 뺌
    split_s = slice_s.split("},{")
    split_s.sort(key=len)
 
    for sp in split_s:
        sp_s = sp.split(",")
        for num in sp_s:
            if int(num) not in answer:
                answer.append(int(num))
 
    return answer
cs
728x90