Activity/Algorithm
[코딩테스트] 프로그래머스_k의 개수(Python)
ye_ju
2023. 2. 7. 23:48
문제 설명
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 a in range(i, j+1):
answer += str(a).count(str(k))
return answer
반복문을 이용해서 i 부터 j까지 반복을 하게 합니다.
str로 바꾼 a에 str로 바꾼 k의 개수가 몇 개 있는지 계산한 후 그 값을 answer에 저장해줍니다.
answer을 return해줍니다.
count 함수를 쓸 때는 문자열로 바꿔줘야 한다는 사실을 알 수 있었다. int형으로 실행하려고 하면 에러가 나는 것을 알 수 있다.