kimyongjun0129 2025. 3. 10. 17:32

문제

 

 

# 내 풀이

def solution(num, k):
    answer = 0
    
    for a in str(num):
        answer += 1
        if a == str(k):
            return answer	
    return -1
  • str(num) : str 함수를 통해 숫자를 문자열로 형 변환 (for... in...문은 iterable만 사용할 수 있다.)
  • answer : 특정 문자열의 위치를 알려주는 인덱스 역활을 한다.

 

 

# GPT 풀이

def solution(num, k):
    num_str = str(num)
    return num_str.find(str(k)) + 1 or -1
  • find(문자) : 문자열에서 특정 문자가 처음 등장하는 위치(인덱스)를 반환한다. 만약 해당 문자가 없으면 -1을 반환한다.

 

..
    return num_str.find(str(k)) + 1 or -1
    
    
..
    return -1 + 1 or -1
    
    
..
    return 0 or -1
    
    
..
    return False or -1
  • 다음과 같이 or 연산에서 왼쪽 피 연산자가 False가 되므로 오른쪽인 -1이 return 된다.