💻 문제 - B5
👉 제출 코드
case1
S = input()
alpha = [-1] * 26
for i in range(len(S)):
idx = ord(S[i]) - 97
if alpha[idx] == -1:
alpha[idx] = i
print(*alpha)
- ord 함수 사용하여 알파벳을 아스키 코드 값으로 변환시킨다
case2: find 함수 사용
S = input()
for i in list(range(97,123)):
print(S.find(chr(i), end=' ')
- 문자열에서만 사용 가능한 find 함수는 문자열 안에 찾는 문자가 위치한 첫번째 순서를 출력한다. 찾는 문자가 문자열 안에 없는 경우 -1을 출력한다: 문제에서 요구하는 바와 같다.
- 아스키 코드 값을 사용하여 알파벳 리스트를 기준으로 for문을 돌린다
- chr 함수를 사용하여 숫자를 문자열로 변환시킨다
case3: index 함수 사용
S = input()
for i in 'abcdefghijklmnopqrstuvwxyz':
if i in S:
print(S.index(i), end=' ')
else:
print(-1, end=' ')
- index 함수는 문자열뿐만 아니라 리스트, 튜플과 같이 반복 가능한 iterable 자료형에서 사용할 수 있다.
- index 함수는 찾는 문자가 문자열 안에 없는 경우 Attribute 에러가 발생한다.