jeeyeonLIM / coding_test

Let's practice the coding test!
1 stars 0 forks source link

[2019 카카오 개발자 겨울 인턴십] 튜플 #72

Open jeeyeonLIM opened 3 years ago

jeeyeonLIM commented 3 years ago

문제 설명

특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요.

[제한사항]

[입출력 예]

s result
"{{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]
"{{20,111},{111}}" [111, 20]
"{{123}}" [123]
"{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]
jeeyeonLIM commented 3 years ago

나의 코드


![image](https://user-images.githubusercontent.com/45617225/107150002-00426580-699f-11eb-84d8-fb5701ee3e36.png)
jeeyeonLIM commented 3 years ago

다른 사람들 코드

def solution(s): s = Counter(re.findall('\d+', s))

re.findall('\d+', s) : s에서 숫자 묶음을 단위별로 출력

    # 아래는 예시
    # print(re.findall('\d+', "{{1,2,3},{2,1},{1,2,4,3},{2}}"))
    # ['1', '2', '3', '2', '1', '1', '2', '4', '3', '2']
# Counter : 숫자들 갯수 세기
print(s)

return list(map(int, [k for k, v in sorted(s.items(), key=lambda x: x[1], reverse=True)]))
# sorted(s.items(), key=lambda x: x[1], reverse=True) : 많이 나온 숫자 순으로 정렬