본문 바로가기
PS/BOJ

[PS] 백준 10809번 - 알파벳 찾기 | Python

by spareone 2023. 1. 13.

백준 10809번 문제 Write-Up입니다.

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

 

10809번: 알파벳 찾기

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

www.acmicpc.net


알파벳 인덱스를 저장하는 26개의 배열을 정의하고, -1로 모두 초기화를 합니다.

이후 입력받은 문자열을 검사하는데, 해당 문자열이 처음 나올 경우(해당 문자에 해당하는 배열 값이 -1인 경우) 인덱스를 배열에 저장합니다.

 

Python의 경우 배열 통째로 출력하면 오답 처리되네요.

C언어처럼 값 하나하나 다 끄집어내서 출력해야 합니다.

def solution(word):
    res = [-1 for i in range (26)]
    for i in range(len(word)):
        if res[ord(word[i]) - 97] == -1:
            res[ord(word[i]) - 97] = i
    return res
        
if __name__ == "__main__":
    for i in solution(input()):
        print(i, end=' ')

댓글