algorithm/프로그래머스 문제

[프로그래머스 LV2] 튜플

장경훈 2022. 7. 14. 11:02

 

  [LV2] 튜플 문제링크

셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 

www.programmers.co.kr

 

 

문제해설

 

    이번 문제는 설명이 조금은 부족하지만 간단하게 생각해보면 문자열 s에있는 숫자들중 반복되는 횟수가 가장 많은 숫자부터 리스트에 넣으면 되는 문제이다. 여기서 입력받은 s는 {} , 등 문자가 있기때문에 replace를 사용하여 미리 삭제 해주었다. 그후 딕셔너리를 사용해서 각각의 숫자가 나온 횟수를 정리하고 이것을 정렬하여 리스트에 넣었다.

def solution(s):
    answer = []
    hash={} #숫자의 반복횟수를 나타내는 딕셔너리
    s=s.replace('{', '') # { 삭제
    s=s.replace('}','')# } 삭제
    s=s.split(',')# ,삭제
    for i in s: #각각의 숫자의 반복횟수를 0으로 초기화
        if i not in hash: 
            hash[i]=0
    for i in s: #각각의 숫자의 반복횟수 구하기
        hash[i]+=1
    hash=sorted(hash,key=lambda x:hash[x], reverse=True) #나타난 횟수 내림차순으로 정렬 
    for i in hash: # 리스트에 삽입 
        answer.append(int(i))
    return answer

 

피드백

 

  •  아직 정규표현식에 대해서 잘 몰라서 사용하지 않았지만 이 문제는 정규표현식으로 풀면 더 간단한것 같다.
  • 딕셔너리를 정렬하는 다양한 방법에 대해 잘 몰랐기 때문에 확실히 정리해야겠다.

'algorithm > 프로그래머스 문제' 카테고리의 다른 글

[프로그래머스 LV2] 소수 찾기  (0) 2022.07.15
[프로그래머스 LV2] 카펫  (0) 2022.07.14
[LV2]위장  (0) 2022.07.13
[LV2]전화번호 목록  (0) 2022.07.13
[LV2]조이스틱  (0) 2022.07.12