문제 설명
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ i < j ≤ 100,000
- 0 ≤ k ≤ 9
입출력 예
i | j | k | result |
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
입출력 예 설명
- 입출력 예 #1
본문과 동일합니다. - 입출력 예 #2
10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다. - 입출력 예 #3
3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다
풀이
[참고 풀이]
def solution(i, j, k):
answer = 0
for n in range(i, j+1):
answer += str(n).count(str(k))
return answer
문자열 메소드인 count는 문자이어야하므로 str 사용
[기존 풀이]
def solution(i, j, k):
answer = 0
k = str(k)
arr = list(map(str, range(i, j+1)))
arr_new = "".join(arr)
answer = arr_new.count(k)
return answer
[오류 풀이]
def solution(i, j, k):
answer = 0
ex = []
for x in range(i, j+1):
if(str(k) in str(x)):
ex.append(x)
return answer
해당 방법으로 실행 시, 11과 같은 숫자는 1이 한 번으로 인식이 됨.
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120887
'코테정복💫 > 파이썬 PYTHON' 카테고리의 다른 글
[프로그래머스/Python] 숫자 찾기 (0) | 2023.09.23 |
---|---|
[프로그래머스/Python] 콜라 문제 (0) | 2023.09.22 |
[프로그래머스/Python] 369게임 (0) | 2023.09.17 |
[프로그래머스/Python] 특정 문자 제거하기 (0) | 2023.09.12 |
[백준/Python] 10988번 팰린드롬인지 확인하기 (0) | 2023.08.19 |