Problem Solving/boj.kr (Python)

[BOJ / 파이썬] 10809 : 알파벳 찾기

hoiiiii 2022. 2. 13. 17:02

문제 : https://www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

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

www.acmicpc.net

 

Sol ) 

1. -1로 초기화된 길이 26의 배열 선언

2. 입력 문자열을 왼쪽부터 순회하면서 각 문자를 아스키 코드로 변환해 a의 아스키코드 만큼을 빼 준 값을 인덱스로 저장 

3. 배열의 해당 인덱스 값이 -1이라면 값으로 지금 문자의 순서를 저장 ( -1이 아닌 경우 이미 할당됨 )

4. 배열을 출력 양식에 맞게 출력

 

 

소스코드 )

s = input()
cnt = [-1 for _ in range(26)]
i = 0
for char in s:
    idx = ord(char)-ord("a")
    if cnt[idx] == -1:
        cnt[idx] = i
    i += 1
print(" ".join(map(str,cnt)))