백준 문제 풀이 10809 (알파벳 찾기)

백준 문제 풀이 알파벳 찾기

import sys 

word = sys.stdin.readline().strip()		# 입출력 이게 빠르다니까 이거 씁시다
result = '' 					# 빈 문자열 생성
for i in range(26): 				# 소문자만 사용한다 하였으니 a부터 z 까지 26번 루프
    for j in chr(97+i): 			# chr 함수를 이용해 ascii코드를 j에 집어넣읍시다!
        if j in word: 				# j가 word에 있다면
            result += str(word.index(j)) 	# 인덱스 번호를 result 문자열에 추가해주고
        else: 					# 아니라면
            result += str(-1)			# result 에 -1을 문자열로 추가해줍시당
        result += ' '				# 출력 형식이 한칸씩 띄어야 했으니 스페이스바 한번 눌러주고
print(result)					# 출력해주세요

python 짱짱 이제 시간 남으면 C언어로 했던 문제들 복습해야겠다.

 

print(*map(input().find,map(chr,range(97,123))),sep=' ')


# "문자열".find("문자") 로 문자열에서 문자의 위치를 찾을 수 있단다...
# 이 때 문자가 문자열에 포함되지 않을경우 -1 을 반환한단다....
# 이건 몰랐지;;

# 코드 동작 방식
# 1. 입력을 받음
# 2. map 으로 아스키코드를 각각 분리
# 이 때 map 객체 생성 [a,b,...,z]
# 3. map(input().find,map(chr,range(97,123)))
# 4. input().find 라는 함수에 map(chr,range(97,123))이라는 객체 집어넣기
# 5. 찾아서 출력

# 언제나 그랬듯 풀고나서 다른사람의 풀이를 찾아봤는데
# 세상에 고수는 많은거 같습니다;

# exit 1100 고맙습니다 ^^7 이해하는데 매우 힘들었는데 도움에 충성충성