티스토리 뷰
[백준 10809]
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
[내 코드]
dic = {}
for i in range(97, 123):
dic[i] = -1;
s = list(input())
for i in range(0, len(s)):
if (dic[ord(s[i])] == -1):
dic[ord(s[i])] = i
for i in range(97, 123):
print(dic[i], end =" ")
음...내 코드는 확실히 코드가 귀찮아 보인다....
다른 분의 코드를 보니, find() 함수만 이용하면 쉽게 풀리는 문제였다. 확실히 알고 넘어가자!
find( )
s.find(찾을 문자)
s.find(찾을 문자, 시작 Index)
s.find(찾을 문자, 시작 Index, 끝 Index)
- find()는 검색시, 문자의 대소문자를 구분
- 존재하지 않는 문자는 -1, 그 외에는 해당 글자의 인덱스 출력
- find()와 비슷한 index()에서는 존재하지 않는 문자의 경우 오류를 출력
참고 자료
https://codetorial.net/tips_and_examples/string_find_index.html
'Etc > Algorithm & Solving' 카테고리의 다른 글
[Algorithm] 이진 탐색 (Binary Search) (0) | 2022.02.26 |
---|---|
[Python] 백준 1181 (0) | 2022.02.04 |
[Python] 백준 10814 #빠른 입력 받기 (0) | 2022.01.30 |
[Python] 백준 2908 (0) | 2022.01.27 |
[Python] 백준 2920 (0) | 2022.01.27 |
Comments