https://school.programmers.co.kr/learn/courses/30/lessons/120904
[문제 설명]
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < num < 1,000,000
- 0 ≤ k < 10
- num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
[나의 풀이]
def solution(num, k):
num = str(num)
k = str(k)
if k in num:
return num.index(k) + 1
else:
return -1
Q. 문자열도 인덱스가 있는지?
Q. 문자열에서 특정 문자를 찾을 때 find와 index 메서드의 차이는 무엇인가요?
[다른 풀이]
def solution(num, k):
return -1 if str(k) not in str(num) else str(num).find(str(k)) + 1
def solution(num, k):
for i, n in enumerate(str(num)):
if str(k) == n:
return i + 1
return -1
def solution(num, k):
try:
return str(num).index(str(k)) + 1
except ValueError:
return -1
try-except구문을 사용한 경우
Q. try-except 구문의 다른 사용 예시를 보여줄 수 있나요?
try-except 구문은 파이썬에서 에러가 발생할 가능성이 있는 코드를 안전하게 실행할 때 사용됩니다. 이 구문을 통해 프로그램이 에러로 인해 중단되지 않고, 발생한 에러를 다루거나 대체 작업을 수행할 수 있습니다. 다양한 사용 예시를 살펴보겠습니다.