BOJ/백준-10809-python

cosmos·2021년 3월 9일
3
post-thumbnail

문제📖

풀이🙏

  • 첫째 줄에 단어 S가 주어진다.
  • 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.
  • 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치,... z가 처음 등장하는 위치를 공백으로 구분하여 출력한다.
  • 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다.
  • 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.
    -> a부터 z까지의 아스키코드는 97~122이다.
    -> list comprehension + chr로 알파벳을 list로 받는다.
    -> list or str형에는 index함수를 사용할 수 있는데 index(인자) 인자와 list내의 요소가 같으면 같은 위치를 반환하고 같은게 없다면 에러가 뜬다.
    -> 에러뜨는걸 방지하기 위해 try + except예외처리를 해줌과 동시에 -1을 출력하도록했다.

코드💻

# boj, 10809 : 알파벳 찾기, python3
S = str(input())
alpabet = [chr(i) for i in range(97,122+1)]

for i in alpabet:
    try:
        print(S.index(i), end= ' ')
    except:
        print(-1, end = ' ')

결과😎

출처 && 깃허브📝

https://www.acmicpc.net/problem/10809
github

0개의 댓글