바위 뚫는중

[프로그래머스] Lv0. 한 번만 등장한 문자, Lv0. 최빈값 구하기 - 문자열 Counter, Defaultdict 본문

Algorithms/프로그래머스

[프로그래머스] Lv0. 한 번만 등장한 문자, Lv0. 최빈값 구하기 - 문자열 Counter, Defaultdict

devran 2023. 10. 26. 22:08
반응형

무조건 외워둬야 편한 모듈들~

Counter

defaultDict

0️⃣ 한 번만 등장한 문자

Python에서 문자열을 정렬할땐 sort() 대신에 sorted() 사용하자!!!

Counter : 문자열의 알파벳 개수를 세어준다!

from collections import Counter

def solution(s):
    answer = '' 
    cnt = Counter(s)
    for i in range(len(s)):
        if cnt[s[i]] == 1:
            answer += s[i]
            
    ans = ''.join(sorted(answer))
    
    return ans

0️⃣ 최빈값 구하기

from collections import defaultdict
def solution(array):
    answer = 0
    dd = defaultdict(int)
    
    for num in array:
        dd[num] += 1 #등장할 때 마다 +1
        
    maxNum = 0
    for key in dd:
        if dd[key] > maxNum:
            maxNum = dd[key]
            answer = key
        elif dd[key] == maxNum:
            answer = -1

    return answer

딕셔너리에 해당 숫자를 키 값으로 두고, 등장할 때 마다 value 값을 증가시켜준다

그 후 maxNum (가장 많이 나온 수) 를 임시로 선언하고 value값을 비교해준다

value값이 같다면 -1 출력한다

반응형