코딩 테스트/프로그래머스
[Python] 프로그래머스 lv.0 문자열 묶기
위시리
2024. 11. 25. 03:06
문제 분석
- 주어진 배열에서 문자열의 길이가 같은 문자열 끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기 return
정답 코드
def solution(strArr):
answer = 0
dic = {}
for i in range(len(strArr)):
if len(strArr[i]) in dic.keys() :
dic[len(strArr[i])] += 1
else :
dic[len(strArr[i])] = 1
answer = max(dic.values())
return answer
다른 사람 코드 1
def solution(strArr):
d = {}
for i in strArr:
d[len(strArr)] = d.get(len(i), 0) + 1
return max(d.values())
- 딕셔너리 자료형에서 값을 꺼내는 2가지 방법
- dict['a'] vs dict.get('a')
- 1. dict['a'] : 만약 dict 딕셔너리에 'a'라는 키 값이 없다면 KeyError
- 2. dict.get('a') : 만약 dict 딕셔너리에 'a'라는 키 값이 없다면 key에 대해 예외를 던지지 않고, none 리턴
- dict.get('a', '디폴트 값')
- 딕셔너리 안에 찾으려는 key가 없을 경우, 디폴트 값을 대신 가져온다.
다른 사람 코드 2
from collections import Counter
def solution(strArr):
return Counter(map(lamdba x : len(x), strArr)).most_common(1)[0][1]