https://school.programmers.co.kr/learn/courses/30/lessons/120904
def solution(num, k):
answer = 0
str_num = str(num)
str_k = str(k)
if str_k in str_num:
answer = str_num.index(str_k) + 1
else:
answer -= 1
return answer
in
연산자를 통해 있는지 확인했다.index()
함수로 인덱스를 받고, 우리는 1
부터 세니까 1
을 더해주었다.def solution(num, k):
answer = (str(num).find(str(k)) + 1)
if answer == 0:
answer = -1
return answer
find()
함수를 통해 인덱스를 추출했고, 없으면 find()
반환값이 -1
이 되니까 answer
이 0
이 되버려서 -1
로 바꿔준 모습이다.find()
와 index()
함수를 통한 풀이였는데, 문자열이 있을때 둘 다 시작하는 인덱스를 반환하는 동작이 같다.find()
는 없는 경우 -1
을 반한하는 반면, index()
는 ValueError
라는 예외를 발생시킨다.find()
함수를 사용하는게 안전하다.index()
를 아예 문자열에 쓰면 안되는 것도 아니고, 예외 발생을 오히려 예외 처리를 통해 위 코드처럼 활용할 수 있으니 예외를 활용할 필요도 있어보인다.피드백은 언제나 환영입니다 :)