def solution(num, k):
    answer = -1  # 시작을 -1로 설정
    str_num = str(num)
    
    for i in str_num:
        if i == str(k):
            answer = str_num.index(i)+1
        
    return answer

🤔 문제 풀이방법

  • answer = -1  # 시작을 -1로 설정
    • 고정 값으로 answer은 -1로 해둘게요!
  • str_num = str(num)
    • for문을 돌려줄 거기 때문에 num을 문자열화 해줄게요
  • for i in str_num:
    • for문을 돌립니다!
  • if i == str(k):
    • 만약 str_num(==i)이 문자열화 된 k와 같다면
  • answer = str_num.index(i)+1
    • i가 str_num의 index가 뭔지를 출력해줄게요
    • +1을 해준 이유는, index의 기본값이 0부터 시작이기 때문에 +1을 해주었어요
  • return answer
    • answer을 리턴해주면, 문제 해결!

실패 흔적들 

<1트>

분명 코드를 맞게끔 코드를 썼다고 생각했는데 카운트를 0부터 시작이 아니라 1부터 시작을 하더라구요 🤔 

 

 

바보같이, 문제에 똑똑히 힌트를 줬는데 못 알아챘어요 ㅋㅋㅋㅋㅋㅋ

 

<2트>

도대체 뭐가 문제인지 인지하지 못했어요

그래서 print(i)해서 디버깅을 해보았어요

 

그랬더니,

if i ==str(k):

이 조건일 때만 작동되도록 설정돼 있더라구요

그래서 결괏값이 -1만 나온 거였어요

그래서 저 조건을 삭제했어요

 

<3트>

그러고, str_num이 어떻게 출력이 되는지 print(i)을 다시 해보았는데

하나하나 쭉쭉 밑으로 나오더라구요. 역시 for문,,

 

밑으로 하나씩 출력이 되는 거니까, '그냥 저기서 str(k)값의 .index()을 찾으면 되겠구나!!' 를 깨닫고

 

<5트>

def solution(num, k):
    answer = -1  # 시작을 -1로 설정
    str_num = str(num)
    
    for i in str_num:
        if i == str(k):
            answer = str_num.index(i)
        
    return answer

근데도 오답이 나오길래 결괏값을 봤더니

index()의 기본 카운팅 숫자가 0이었던 걸 간과했어요 ㅋㅋㅋㅋ,,,

 

<6트>

def solution(num, k):
    answer = -1  # 시작을 -1로 설정
    str_num = str(num)
    
    for i in str_num:
        if i == str(k):
            answer = str_num.index(i)+1
        
    return answer

그리하여 최종적으로 코드를 완성한 후, 문제를 해결했답니다! 😋 

 

6트만에 성공했네요 🤪

문제 풀었으니 그걸로 된 거죠 뭐~~~

+ Recent posts