튜플

Polla·2023년 3월 1일
0

programmers

목록 보기
53/58
post-thumbnail

프로그래머스 lv2 튜플 파이썬



💡 문제


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


🥳 해결


생각

1. 다르게 생각해보면 제일 많이 등장한 것이 첫번째니, 등장한 횟수를 
	기준으로 sort() 해주면 되지 않을까?
2. 원소와 원소 개수만 확인 하면 되니, dict을 사용할까
3. replace()를 사용해도 될것 같은데 먹히지 않으면 re 를 사용할 생각
4. dict.values()를 기준으로 sort 해준 후 return 하자


코드


def solution(s):
   s_dict = {}
   s = s.replace('{','').replace('}','').split(',')
   for i in s:
       i = int(i)
       if i in s_dict :
           s_dict[i] += 1
       else:
           s_dict[i] = 1
   return (sorted(s_dict, key = lambda x: s_dict[x], reverse = True))

처음에는 전부 replace를 해주려고 했지만, 그럴 경우 숫자 1111 1 1
로 변하는 일이 생겨서 ,를 기준으로 split()해줬다.

그 후 iint로 넣어주기 위해 변경을 미리 해줬다.
왜냐면 일일히 type을 바꿀경우, 시간이 꽤 소모 될것 같았다.

그 후 s_dict.key()를 기준으로, sort() 해줬는데,
문제는 많이 나온 원소가 가장 첫번째로 들어간 원소리니, reverse = True
를 적용해줬다.

해결!


profile
트러블 슈팅 Blog => https://polla.palms.blog/home

0개의 댓글