Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [10809] - 알파벳 찾기

yaebb_82 2022. 8. 12.

 

 

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

S = input().rstrip()

alpha = list(range(ord('a'), ord('z')+1))

for i in alpha:
  print(S.find(chr(i)), end=' ')

- sys.stdin.readline을 input에 할당하여 사용하였다.

- input()으로 문자를 입력받고, rstrip()을 통해 오른쪽 엔터를 제거하여 S에 저장한다. (sys.stdin.readline을 사용했기 때문)

- ord()로 소문자 a 부터 z까지의 아스키코드 값을 받고, range()로 a부터 z까지의 아스키코드 값의 범위를 표현해주기 위해서 ord('z')에 1을 더해주었다. 그리고 이를 list로 만들어서 alpha에 저장하였다.

- for i in alpha: alpha를 차례대로 i에 넣어서 반복문 for문을 돌린다.

- chr()로 i의 아스키코드 값을 다시 문자로 바꿔주고, find()를 통해서 S의 문자열 안에서 문자로 바꿔준 i가 위치한 값을 print()로 출력한다. 그리고 줄바꿈을 막기 위해서 end=' '를 사용하였다.

 

cf.) find() : 어떤 문자가 문자열 안에서 위치한 위치값(인덱스 값)을 반환한다. 만약 문자가 문자열 안에 없다면, -1을 반환한다.

cf.) index() : 어떤 문자가 문자열/리스트/튜플 등과 같은 반복 가능한 iterable 자료형 안에서 위치한 위치값(인덱스 값)을 반환한다. 만약 문자가 문자열 안에 없다면, AttributeError를 발생시킨다.

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 [1157] - 단어 공부  (0) 2022.08.20
백준 [2675] - 문자열 단계  (0) 2022.08.20
백준 [11720] - 숫자의 합  (0) 2022.08.11
백준 [11654] - 아스키 코드  (0) 2022.08.11
백준 [1065] - 한수  (0) 2022.08.10

댓글