10809번 : 알파벳 찾기 문제
알파벳 소문자로만 이루어진 단어 S가 주어진다.
각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를,
포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/10809
풀이 코드
word = input()
alphabet = "abcdefghijklmnopqrstuvwxyz"
for i in alphabet:
print(word.find(i), end=' ')
word = input()
- 소문자로 이루어진 문자열 s 를 입력받음
- input() 은 한 줄의 문자열만 입력받을 수 있음
alphabet = "abcdefghijklmnopqrstuvwxyz"
- a 부터 z 까지의 알파벳을 문자열 alphabet 에 저장
+ 참고 )
- 파이썬의 문자열은 내부적으로 리스트와 같이 처리
- 따라서 문자열은 여러개의 문자가 합쳐진 리스트로 볼 수 있음 (인덱싱, 슬라이싱 가능)
for i in alphabet:
- 'for 변수 in 문자열' 형태로, in 뒤에 오는 데이터로는 리스트, 튜플, 문자열 사용
- a 부터 z 까지의 문자를 포함하는 문자열 alphabet의 문자를 하나씩 순회
print(word.find(i), end=' ')
- find() 함수를 사용하여 문자의 해당 위치를 반환
- end = ' ' 는 구분자 역할로, 첫 번째 출력문과 두 번째 출력문 사이에 빈 칸을 출력
[find 함수]
- find 함수는 찾고자 하는 문자(열)가 존재하는지 확인하고,
존재한다면 해당 위치 index를 반환, 존재하지 않는다면 -1을 반환
string.find(찾을 문자)
string.find(찾을 문자, 시작 index) # 시작 인덱스를 생략하면 0부터 시작
string.find(찾을 문자, 시작 index, 끝 index) # 마지막 인덱스를 생략하면 문자열 마지막까지
나동빈 '이것이 코딩 테스트다 with 파이썬' 책을 참고하여 작성하였습니다.
https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
'백준 알고리즘 문제 풀이 [Python]' 카테고리의 다른 글
[백준/Python] 1157번 단어 공부 (문자열) (0) | 2023.02.23 |
---|---|
[백준/Python] 2675번 문자열 반복 (문자열) (0) | 2023.02.23 |
[백준/Python] 11720번 숫자의 합 (문자열) (0) | 2023.02.23 |
[백준/Python] 11654번 아스키 코드 (문자열) (0) | 2023.02.23 |
[백준/Python] 1065번 한수 (함수) (0) | 2023.02.23 |