백준 10809번:알파벳 찾기: 파이썬

태훈입니다·2022년 12월 2일
0

코테 풀이

목록 보기
22/34


정답 코드:

N = list(map(str,input()))
for i in range(97,123):
  if chr(i) in N:
    result = N.index(chr(i))
  else:
    result = -1
    
  print(result,end=" ")

코드 풀이:

아스키 코드와, 파이썬 배열의 index() 메소드, 그리고 in을 
이용하여 풀이 한 문제. 먼저 
index() 메소드 부터 알아보면,
a라는 값이 N 배열에 있다면, N 배열 안에서 가장 처음
만나는 a 값의 인덱스를 반환 해주는 메소드이고
a in N 메소드는 N이라는 배열 안에 a가 있는지 , 불리안 형태로
값을 주는 메소드이다.

코드 첫 줄 부터 풀이 해보면,
N이라는 배열을 문자열 형태로 입력 받고,
97 ~ 122까지의 값을 반복문을 통해 i에 반환하는데,
이유는 문제에서 a~z까지의 값을 통해 정답을 요구하기 때문에,
아스키코드를 통해 chr(i)   i가 97일 땐 = a가 나오도록
i가 122일 땐 z가 나오도록 해서,
a~ z까지 모두 배열에 대입해볼 수 있도록 했다..

그리고 chr(i) in N: 을 if문을 통해 확인해서,
있다면 result 에 N의 몇 번째 index에 있는지 ,
없다면 -1을 할당하도록 해줬고.
result 를 출력하는데, 띄어쓰기를 통해 문제에서 원하는 형태로
답을 도출하도록 하였다!
profile
개발 공부를 하고 있는 비전공자입니다!

0개의 댓글