본문 바로가기

자료구조+알고리즘/파이썬_백준

[10809][Python][백준] 알파벳 찾기

알고리즘 분류

  • 구현
  • 문자열

 


 

 

 

 


 

 

풀이

 

 

예제를 보면

      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
반응형