develop/Python

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

hsleeee 2023. 3. 29. 12:17
반응형
SMALL

[문제]

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 
정수 i, j, k가 매개변수로 주어질 때,
i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

[답안]

def solution(i, j, k):
    return sum([str(i).count(str(k)) for i in range(i, j+1)])

[풀이]

시작값 i, 마지막값 j+1 로 for 문을 실행하고 i의 값을 string으로 변환한 뒤에 string으로 변환한 k의 값을 카운트 하여 값을 구한다.

값이 없는 경우에는 0, 있으면 그 수만큼 카운트 되기 때문에 sum() 함수를 이용하여 배열의 값들을 더하여 답을 구하였다.

 

def solution(i, j, k):
    return len([i for i in range(i, j+1) if str(i).count(str(k))])

처음에 이렇게 풀었을 때 오류가 나길래 보니까 '11' 이라는 수는 1이 두번 들어가는 것을 간과하였다..

설명을 잘 읽고 문제를 풀자...!

 

[문제 풀어보기]

https://school.programmers.co.kr/learn/courses/30/lessons/120887

반응형
LIST