알고리즘 분류
- 구현
- 문자열
풀이
예제를 보면
s = b a e k j o o n
index = 0 1 2 3 4 5 6 7
a b c ... 순서대로 출력 : 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
a = 1번째 순서
b = 0번째 순서
c = 없으므로 -1
...
=> 알파벳 순서대로 입력받은 문자열의 인덱스 출력!! , 없으면 -1
s = input()
alph = 'abcdefghijklmnopqrstuvwxyz'
for i in alph:
if i in s: #입력 받은 문자열에서 알파벳이 있으면
print(s.index(i), end = ' ') #입력 받은 문자열의 인덱스 출력
else:
print(-1 , end = ' ')
또 다른 해결법
▶ 아스키 코드 를 이용해서 푸는 방법
ord(c) : 문자의 유니코드 값을 돌려주는 함수
a = 97
=> 문자를 아스키코드로 변환하여 97을 뺀 인덱스에 문자열 위치를 입력해준다.
s = input()
check = [-1] * 26
for i in range(len(s)):
if check[ord(s[i])-97] != -1:
continue
else:
check[ord(s[i])-97] = i
for i in range(26):
print(check[i], end = ' ')
728x90
반응형
'자료구조+알고리즘 > 파이썬_백준' 카테고리의 다른 글
[1175][Python][백준] 단어 공부 (0) | 2022.01.12 |
---|---|
[7568][Python][백준알고리즘]_브루트포스 - 덩치 (0) | 2021.07.20 |
[2231][Python][백준알고리즘] _ 브루트포스 - 분해합 (0) | 2021.07.20 |
[2798][Python][백준알고리즘] _ 브루트포스 - 블랙잭 (0) | 2021.07.16 |
[2530] [Python][백준알고리즘] - 인공지능 시계 (0) | 2021.07.16 |