티스토리 뷰
[python/백준(boj)]
1157번. 단어 공부
입력값
알파벳 대소문자로 이루어진 문자열
출력값
입력값 문자열에서 제일 많이 사용한 알파벳 (대/소문자 구분 X)
** 여기서 제일 많이 사용한 알파벳이 여러개일 경우 ? 출력
풀이
문제 풀면서 쉽게 풀 수 있는 라이브러리나 함수 많이 찾아봤는데
이해가 안가는 것들도 몇개 있어서 모르는 것들은 무작정 복붙해서 쓰지 않고 아는 문법이나 함수 안에서 해결하려고 노력했다.
이중에서도 max(dic, key=dic.get) 이 부분이 잘 이해가 안갔지만, value 값들 중 가장 큰 값을 가지고 있는 key를 반환하는 함수라고 이해했다.
파이썬 되게 만만하게 생각했는데 공부하면 할수록 햇갈리고 어려운 것도 있는 것 같다.
str = input()
# 문자열 전부 대문자로 변경 (대/소문자 구별 없이 같은 결과가 나와야 하므로)
str = str.upper()
# 알파벳 개수 세기
dic = {}
for i in str:
if i in dic:
dic[i] += 1
else:
dic[i] = 1
# 가장 많이 사용된 알파벳 찾기
max_key = max(dic, key=dic.get)
max_value = dic[max_key]
dic.pop(max_key)
# 가장 많이 사용된 알파벳이 여러 개일 경우 ? 출력
if max_value in dic.values():
print("?")
else:
print(max_key)
'Algorithm' 카테고리의 다른 글
[python/백준(boj)] 1316번. 그룹 단어 체커 (0) | 2021.02.18 |
---|---|
[python/백준(boj)] 2941번. 크로아티아 알파벳 | python replace() 함수 알아보기 (0) | 2021.02.18 |
[python/백준(boj)] 2675번. 문자열 반복 (0) | 2021.02.11 |
[Java/백준(boj)] 11047번. 동전 0 (0) | 2020.07.30 |
[Algorithm][Java] 효율적인 코드 작성 방법 (1) 효율적인 입력 방법 | Scanner, BufferedReader의 차이점과 장/단점 인지하기 | StringTokenizer 사용 방법 (0) | 2020.07.30 |
댓글