I about me

[Python] from collections import Counter 사용해서 프로그래머스 중복된 문자 제거, 최빈값 구하기 문제 풀이 본문

Algorithm/프로그래머스

[Python] from collections import Counter 사용해서 프로그래머스 중복된 문자 제거, 최빈값 구하기 문제 풀이

ssungni 2024. 4. 15. 22:04

중복된 문자 제거

사고 흐름 정리

1. collections라는 라이브러리에서 Counter 메소드를 가져와 딕셔너리 형태로 숫자를 세어줌.

2. temp.keys → ' '.join()으로 묶기 ex) dict_keys(['p', 'e', 'o', 'l'])  → peol

3. 최종값 return 해주기

from collections import Counter

def solution(my_string):
    temp = Counter(list(my_string))
    unique_chars = ''.join(temp.keys())
    return unique_chars

 

최빈값 구하기 문제 

사고 흐름 정리

1. collections라는 라이브러리에서 Counter 메소드를 가져와 딕셔너리 형태로 숫자를 세어줌.

2. most_common() 메소드를 사용하여 가장 많은 수를 가진 것 순서대로 나열한 것을 변수 mode에 넣어줌

3. mode를 돌면서 다음 갯수가 최빈값과 같을 때 -1 retrurn

4. 그렇지 않은 것은 싹다 mode[0][0]으로 return

from collections import Counter

def solution(array):
    c = Counter(array)
    mode = c.most_common()
    
    for i in range(1, len(mode)):
        if mode[i][1] == mode[0][1]:
            return -1
        
    return mode[0][0]

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

[Python] 의상  (0) 2024.04.15
[Python] 외계인 사전  (0) 2024.04.15
[Python] 전화번호 목록  (0) 2024.04.14
[Python] 인덱스 바꾸기  (0) 2024.03.31
[Python] L2 - 올바른 괄호  (0) 2024.03.14