728x90
임의의 문자열을 입력하면 알파벳이 몇 번째 자리에 쓰였는지 확인하는 문제다.
예제를 설명하면, b, a, e, k, j, o, o, n 이라는 문자열 안에서 b가 몇 번째 자리인지, a가 몇 번째 자리인지 표시해야 하며,
알파벳 순서에 맞게 표기해야한다. 또한, 쓰이지 않은 알파벳은 -1 로 처리하면 된다.
즉, 예제 출력에서 1 -> 0 -> -1 ... 인 이유는 baekjoon 에서 a가 2번째 자리에 있고, b가 1번째 자리에 있고, c는 쓰이지 않았기 때문에 1 0 -1 ...로 표기된 것이다. (컴퓨터는 0부터 자리 수를 셉니다. ex) 0번째, 1번째, 2번째...)
# 백준 10809 "알파벳 찾기"
s = input()
alphabet = list('abcdefghijklmnopqrstuvwxyz')
for i in alphabet: # 알파벳 리스트를 반복문으로 돌림
if i in s:
print(s.index(i), end = ' ') # i가 s안에서 몇 번째인지 출력
else :
print("-1", end = ' ') # i가 s안에 없다면 -1을 출력
임의의 문자열은 변수 s를 통해 입력받고, 알파벳 a~z까지 담긴 리스트를 하나 만들어둔다.
알파벳이 담긴 리스트를 반복문을 통해 돌리면 i에 a~z까지 한 번씩 대입되고, 조건문을 통해서 대입된 i가 우리가 입력한 문자열 s에 있다면 i가 s에서 몇 번째 였는지 출력합니다. 없다면 -1을 출력합니다.
728x90
'알고리즘' 카테고리의 다른 글
[백준] 1157 단어 공부 (Python) (0) | 2022.07.20 |
---|---|
[백준] 2675 문자열 반복 (Python) (0) | 2022.06.09 |
[백준] 11720 숫자의 합 (Python) (0) | 2022.06.07 |
[백준] 11654 아스키코드 (Python) (0) | 2022.05.24 |
[백준] 1065 한수 (Python) (0) | 2022.05.23 |