본문 바로가기
백준

[백준] 10809번 : 알파벳 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 6. 30.
728x90
반응형

 

 

10809번: 알파벳 찾기

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. 변수 S를 생성하고 문자열을 입력받아 리스트 형태로 저장한다. S = list(input())
  2. 소문자의 처음 등장 위치를 나타낼 변수 s를 생성하고 각 소문자 위치의 값을 -1로 하는 배열을 만든다. s = [-1] * 26
  3. 다시 한번 소문자 a부터 z까지 추출하기 위한 반복을 실행한다. for i in range(97, 123)
  4. 입력받은 문자열 S의 문자들도 하나씩 추출한다. for j in range(len(S))
  5. 만약 해당되는 소문자가 추출한 문자와 일치하고 소문자의 처음 등장 위치를 저장한 배열에서 소문자의 위치의 값이 -1이면 (처음 등장한 위치이면) if (chr(i) == S[j]) and (s[i - 97] == -1)
  6. 해당 위치의 값에 추출한 소문자의 위치를 대입한다. s[i - 97] = j
  7. 소문자의 처음 위치를 저장한 배열을 하나씩 추출하며 값을 출력한다. for i in s: print(i, end=" ")
반응형

3. 소스코드

S = list(input())
s = [-1] * 26

for i in range(97, 123):
    for j in range(len(S)):
        if (chr(i) == S[j]) and (s[i - 97] == -1):
            s[i - 97] = j

for i in s:
    print(i, end=" ")
728x90
반응형