데이터분석과 개발

[알고리즘] 백준 단계별_문자열: 1157번 본문

알고리즘

[알고리즘] 백준 단계별_문자열: 1157번

긍정적인마인드 2023. 2. 11. 23:59

 

이번 문제를 풀고 파이썬 딕셔너리에 관한 함수를 정리하려함

 

1157번 단어공부

 

문제 :

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

가장 많이 사용된 알파벳이 유일하지 않으면 "?" 출력

 

* 어려웠던 점

 

(1) 딕셔너리에서 value 값이 최대인 key 값을 뽑는 법

 

 

(2) 딕셔너리에서 value 값이 최대인 값이 여러개일때 여러개의 key값을 모두 뽑는 법

 

* 구글링 결과

# d = 딕셔너리
# k = key, v= value

# (1) 최댓값인 value의 key뽑기
max(d, key=d.get)

# (2) value 최댓값인 key값 뽑기
[k for k,v in d.items() if max(d.values)==v]

 

* 정답 코드

 

* 다른 정답 코드

 

set함수로 알파벳 중복을 제거

count() 함수를 사용하여 각 문자열에서 알파벳의 갯수, 리스트 안에서 개수의 중복값을 세어주었다.

 

 

 

 

참고:

https://bio-info.tistory.com/40

 

다른정답:

https://ooyoung.tistory.com/70