사용자 도구

사이트 도구


ps:problems:boj:10809

알파벳 찾기

ps
링크acmicpc.net/…
출처BOJ
문제 번호10809
문제명알파벳 찾기
레벨브론즈 2
분류

기초

시간복잡도O(n)
인풋사이즈n<=100
사용한 언어Python
제출기록33116KB / 144ms
최고기록52ms
해결날짜2021/11/06

풀이

  • 그냥 단순 구현 문제
  • 실제 코드는 dict에 위치를 저장하고 string.ascii_lowercase로 이터레이트하면서, 뭔가 멋을 부린듯한 코드가 되어버렸는데.. 그냥 길이 26짜리 배열에다가 저장해도 별 상관 없다.
    • dict를 만드는 라인을
      pos_by_ch = {ch: pos for pos, ch in reversed(list(enumerate(S)))}
      로 하는 것을 처음 생각했다가 현재 코드로 바꿨는데, 뭐가 더 보기에 나은지는 모르겠다.

코드

"""Solution code for "BOJ 10809. 알파벳 찾기".

- Problem link: https://www.acmicpc.net/problem/10809
- Solution link: http://www.teferi.net/ps/problems/boj/10809
"""

import string


def main():
    S = input()
    pos_by_ch = dict(zip(reversed(S), reversed(range(len(S)))))
    print(*(pos_by_ch.get(ch, -1) for ch in string.ascii_lowercase))


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
D T K G​ B
 
ps/problems/boj/10809.txt · 마지막으로 수정됨: 2021/11/07 13:53 저자 teferi