소문자로만 이루어진 단어 하나를 입력받고, 그 소문자가 알파벳 a~z를 대조했을때
단어의 a~z가 단어의 몇번째자리에 위치했는지 파악하는 문제이다.
만약 a~z중에 단어에 없는 알파벳이 있다면 해당알파벳의 자리는 -1로 표기한다.
우선 for문으로 a~z까지 26번의 반복문을 돌려 리스트(단어)가 존재한다면 또 다시 반복문을 돌리는 if문을 활용했다.
존재하지 않는다면 -1로 표기하는 if문을 만들고 존재한다면 단어의 개수만큼 반복문을 다시 돌려서
몇번째 자리에 존재하는지 표기하는 반복문을 돌려준다.
s = str(input())
list_s = list(s)
for i in range(26): #알파벳의 개수만큼 반복
if chr(i+97) in list_s: #알파벳a의 아스키코드인 97만큼 더한숫자를 활용하여 존재하는지 파악
for x in range(len(list_s)): #단어의 개수만큼 반복
if chr(i+97) == list_s[x]: #반복중 같은것을 발견했다면 출력후 브레이크
print(x,end = " ")
break #같은 문자가 존재할 시 앞에 자리 하나만 출력하기 위함
else: print("-1",end= " ") #존재하지 않을 경우 -1을 출력
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준 문제풀이 : 5622번] 파이썬 - 다이얼 (0) | 2023.08.11 |
---|---|
[백준 문제풀이 : 2908번] 파이썬 - 상수 (0) | 2023.08.11 |
[백준 문제풀이 : 27866번] 파이썬 - 문자와 문자열 (0) | 2023.08.09 |
[백준 문제풀이 : 3052번] 파이썬 - 나머지 (0) | 2023.08.07 |
[백준 문제풀이 : 5597번] 파이썬 - 과제 안 내신 분..? (0) | 2023.08.07 |