본문 바로가기

STUDY/Python

[프로그래머스] K의 개수 파이썬

728x90

[나의 풀이]

def solution(i, j, k):
    answer = 0
    
    for n in range(i, j+1):
        if str(n).find(str(k)) != -1:
            answer +=int(str(n).count(str(k)))
    return answer

정답을 맞추기 전 코드는 

def solution(i, j, k):
    answer = 0
    
    for n in range(i, j+1):
        if str(n).find(str(k)) != -1:
            print(n)
            answer +=1
    return answer

이거 였다.

위 코드로 하면

다음과 같이 테케 1번에서 틀린다.

 

이유는 테케 1의 11이라는 숫자에서는 1이 두번 나왔는데 나는  1을 1이 있는 숫자가 하나 있음! 이런 식으로 해서 오답이 나왔다.

 

 

이를 위해 위의 나의 풀이처럼 11이라는 숫자 내에 1이 몇 개 있는지 count로 카운팅해야 한다.

728x90