728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/120887
내 풀이
def solution(i, j, k):
answer = 0
# 첫 시작은 i
cnt = i
# i부터 j까지 숫자 중..
while cnt <= j:
# 각 숫자에 k가 몇 번 등장하는지 셈
answer += str(cnt).count(str(k))
cnt += 1
return answer
내가 한 풀이는
i부터 j까지 while문을 통해 숫자를 돌면서, 각 숫자를 string 형식으로 만들어 각 숫자가 몇 번 나오는지 센다.
왜내하면 k가 1일 때, 11의 경우 1은 2번 나오는 형태이기 때문이다!
다른 사람 풀이
def solution(i, j, k):
answer = 0
for n in range(i, j + 1):
answer += str(n).count(str(k))
return answer
내가 한 풀이와 같은 풀이이지만, 이는 for문을 통해 푼 풀이이다!
def solution(i, j, k):
answer = sum([ str(i).count(str(k)) for i in range(i,j+1)])
return answer
느낀점
for문으로 풀 수 있는데 괜히 while 문으로 푼 듯하다!
굿^^
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[프로그래머스][PYTHON] Lv. 0 삼각형의 완성조건 (2) (3) | 2024.03.19 |
---|---|
[프로그래머스][PYTHON] Lv. 0 저주의 숫자 3 (0) | 2024.03.19 |
[프로그래머스][PYTHON] Lv. 0 외계어 사전 (0) | 2024.03.16 |
[프로그래머스][PYTHON] Lv. 0 안전지대 (0) | 2024.03.15 |
[프로그래머스][PYTHON] Lv. 0 숨어있는 숫자의 덧셈 (2) (0) | 2024.03.14 |