ps:problems:boj:1157
단어 공부
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 1157 |
문제명 | 단어 공부 |
레벨 | 브론즈 1 |
분류 |
기초 |
시간복잡도 | O(n) |
인풋사이즈 | n<=1,000,000 |
사용한 언어 | Python |
제출기록 | 48720KB / 216ms |
최고기록 | 84ms |
해결날짜 | 2021/11/05 |
풀이
- 그냥 시키는대로 구현해서 최빈값을 찾으면 된다.
- 파이썬의 경우 statistics.multimode 를 사용하면 바로 구할수 있다. (직접 구현하는 것에 비해서 속도는 살짝 느린것 같기는 하다)
- 파이썬 숏코딩 1등은 statistics.mode를 사용한 코드인데, statistics.mode에서 최빈값이 여러개 있을때의 처리방식이 python 3.8 버전부터 바뀌었다 (링크). 그래서 현재는 mode로는 최빈값이 한개인지 여러개인지를 구분할수 없고 multimode를 써야만 한다.
코드
"""Solution code for "BOJ 1157. 단어 공부".
- Problem link: https://www.acmicpc.net/problem/1157
- Solution link: http://www.teferi.net/ps/problems/boj/1157
"""
import statistics
def main():
word = input()
modes = statistics.multimode(word.upper())
print(modes[0] if len(modes) == 1 else '?')
if __name__ == '__main__':
main()
ps/problems/boj/1157.txt · 마지막으로 수정됨: 2021/11/15 13:10 저자 teferi
토론