티스토리 뷰
1. find() 함수란?
문자열에서 찾고 싶은 문자의 위치를 반환해주는 함수!
* 존재하지 않는다면 -1 반환!
2. 사용법
string.find(찾을 문자)
string.find(찾을 문자, 시작 index)
string.find(찾을 문자, 시작 indexx, 끝 index)
if) 같은 문자가 문자열 내에 두 개이상 존재한다면?
-> 처음 나온 문자의 위치를 반환!
ex)
sg = 'hello world'
sg.find('o')
결과값 = 4
~응용~
백준 알고리즘 10809번 : 알파벳 찾기
<find함수 없이 처음 짰던 코드>
from string import ascii_lowercase
alphabet_list = list(ascii_lowercase)
sen= input()
for i in range(len(alphabet_list)):
for j in range(len(sen)):
if(alphabet_list[i] == sen[j]):
alphabet_list[i] = j
if(type(alphabet_list[i]) == str):
alphabet_list[i] = -1
res = ' '.join(str(s) for s in alphabet_list)
print(res)
<find 함수 사용>
word = input()
alphabet = list(range(97,123)) # 아스키코드 숫자 범위
for x in alphabet :
print(word.find(chr(x)))
cf)
for x in alphabet:
print(chr(x))
=> abcdefghijklmnopqrsuvwxyz
속도가 두 배 이상 빨라졌다...굳
'🦖 Programming > Python' 카테고리의 다른 글
[Python] 백준 알고리즘 10870번 : 피보나치 수 5 (0) | 2022.08.25 |
---|---|
[Python] 백준 알고리즘 18870번 : 좌표 압축 (0) | 2022.08.21 |
[Python] 백준 알고리즘 1157번 : 단어 공부 (0) | 2022.08.21 |
[Python] 백준 알고리즘 4344번 : 평균은 넘겠지 (0) | 2022.07.06 |
[Python] 특수문자 출력하기 (0) | 2022.06.30 |
댓글