S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.
만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.
n = input() # baekjoon
check = [-1] * 26
for i in range(len(n)):
index = ord(n[i]) - ord('a') # 101 - 97
if(check[index] == -1):
check[index] = i
# check[1] = 0
# check[0] = 1
# check[4] = 2
for i in range(len(check)):
print(check[i], end=" ")
-1을 담은 check 배열 생성check 배열에 매핑시키기 위해 ord 메소드를 이용해서 ASCII 값으로 변환n[i] 이 b 이면 98 이고 , a 가 97 이므로 98 - 97 = 1 이 index에 위치하게 된다. check[index]가 -1이면 해당 알파벳이 처음 등장한 것이므로 현재 위치 i를 저장check 배열을 순회 해서 줄바꿈없이 출력word = input()
for i in 'abcdefghijklmnopqrstuvwxyz':
print(word.find(i))
find 메서드를 통해 문자열에서 특정 문자가 처음 등장하는 인덱스를 반환, 문자가 문자열에 없으면 -1을 반환baekjoon이라면:
- 다른 풀이가 훨씬 간결하고 코드도 깔끔해 보이고
find메소드,ord를 통한 ASCII 코드 변환 방법도 알게 되었다❗