백준 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=' ')
'PS > BOJ' 카테고리의 다른 글
[PS] 백준 1712번 - 손익분기점 | Python (0) | 2023.01.13 |
---|---|
[PS] 백준 2908번 - 상수 | Python (0) | 2023.01.13 |
[PS] 백준 1463번 - 1로 만들기 | Python (0) | 2023.01.11 |
[PS] 백준 2740번 - 행렬 곱셈 | Python (0) | 2022.12.21 |
[PS] 백준 10825번 - 국영수 | Python (0) | 2022.11.16 |
댓글