본문 바로가기

알고리즘 문제 풀이

백준 10809 - 알파벳 찾기

www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

문제 풀이는 파이썬으로 했습니다  

 

alpha = 'abcdefghijklmnopqrstuvwxyz'
string = input()
array = [-1 for i in range(len(alpha))]
for i in range(len(string)) :
     if array[alpha.index(string[i])] == -1 :
             array[alpha.index(string[i])] = i
for j in array :
    print(j, end= " ")

해설을 하자면  

 

1. 알파벳이 들어가 있는 문자열 변수를 만들어 줍니다 

2. 단어를 입력 받습니다 

3. 리스트를 만들고  알파벳 길이만큼  출력해줘야 하므로  길이만큼 먼저 -1을 입력해놓습니다 

4. 입력 받은 단어의 길이만큼 반복을 합니다 index함수를 써서 알파벳이  단어에 포함되있으면  그 위치를 그대로 만들어놓은 리스트에 넣어줍니다 

5. 리스트를 출력합니다 

 

두번째 풀이  

alpha = 'abcdefghijklmnopqrstuvwxyz'
s = input()
for i in alpha :
    print(s.find(str(i)), end = " ")

 

파이썬에 있는 find()함수를 이용하면 더 간단하게 풀이 할 수 있습니다. 

 

ooyoung.tistory.com/78

 

파이썬 find( ), index( ) 비교 / 인덱스, 위치를 찾는 함수(Python)

파이썬 find( ), index( ) - 순서 - 1.find / index 공통적인 내용 2.find / index 차이점 1. find( ), index( ) 공통적인 내용 1-1) 두 함수의 동일한 사용방법 '변수. find(찾을 문자)' / '변수. index(찾을 문..

ooyoung.tistory.com

 

'알고리즘 문제 풀이' 카테고리의 다른 글

백준 1157 - 단어 공부  (0) 2021.03.28
백준 2675 - 문자열 반복  (0) 2021.03.21
코드업 기초 100제(1078~1091)  (0) 2021.03.01
코드업 기초 100제 (1071~1076)  (0) 2021.03.01
코드업 기초 100제(1063, 1064)  (0) 2021.03.01