이번 문제는 영어 문자열을 입력받고
출력할 때 해당 문자열에 없는 알파벳 위치에 -1을,
존재하는 알파벳에는 문자열에서의 n번째 순서임을 나타내면 되는 문제이다
참고로 문자열 순서를 세는 건 1이 아닌 0부터 시작한다
word = input()
alphabet = list(range(97, 123))
for i in alphabet:
print(word.find(chr(i)))
우선 한 변수에 97부터 123까지의 문자를 집어넣는다
위의 숫자는 a부터 z까지의 아스키코드이며
이는 또 for 문을 이용해 문제를 풀이할 수 있기 때문에 사용하는 방식이다
chr(변수)를 이용해 아스키코드를 다시 문자열로 바꿔주고,
find를 이용해 입력받은 문자열의 순서를 코드가 알아서 출력할 수 있도록 한다
중요한 부분은 find 함수에 의해 입력값에 없는 문자열을 확인하면 -1을 출력해줘서
이 함수들을 사용하는 게 거의 이 문제의 출제 의도인 셈이다
'코딩 테스트 > 백준 파이썬 문제 풀이' 카테고리의 다른 글
[백준 1157번 파이썬] 단어 공부 (0) | 2022.04.02 |
---|---|
[백준 2675번 파이썬] 문자열 반복 (0) | 2022.04.02 |
[백준 11720번 파이썬] 숫자의 합 (0) | 2022.04.01 |
[백준 11654번 파이썬] 아스키 코드 (0) | 2022.04.01 |
[백준 1065번 파이썬] 한수 (0) | 2022.04.01 |