사용자 도구

사이트 도구


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()

토론

댓글을 입력하세요:
G S M E​ Q
 
ps/problems/boj/1157.txt · 마지막으로 수정됨: 2021/11/15 13:10 저자 teferi