알고리즘
i부터 j까지 k가 몇개인지 찾는 문제
def solution(i, j, k):
answer = 0
for l in range(i, j+1):
a = [x for x in str(l)]
if str(k) in a:
answer += a.count(str(k))
return answer
# i부터 j까지 for in range
# 각각의 숫자 l에 대해 자릿수별로 분리한 문자열을 리스트에 담기
# ex) 13 => "13" => ["1", "3"]
# k가 해당 리스트에 있는지 확인하여 count()만큼 수량 올리기
map과 lambda를 활용해보기
def solution(i, j, k):
return sum(map(lambda x: str(x).count(str(k)), range(i, j+1)))
# i부터 j까지 순회하면서 람다 함수 실행 map()
# 각 수를 문자열로 변환 str()
# 문자열에 k가 몇개인지 계산 lambda x: str(x).count(str(k))
# 횟수를 모두 더한다. sum()
리스트 컴프리헨션을 활용해보기
def solution(i, j, k):
return sum([ str(i).count(str(k)) for i in range(i,j+1)])
# 각 정수마다 i부터 j까지 순회하면서 for i in range(i,j+1)
# 문자열로 변환 str(i)
# k가 몇개인지 계산 count(str(k))
# 구한 값을 더하기 sum([...])
num_list를 n개씩 잘라서 2차원으로 만들기
def solution(num_list, n):
a = []
for i in range(len(num_list) // n):
a.append(num_list[n*i:n*(i+1)])
return a
리스트 컴프리헨션으로 풀어보기
def solution(num_list, n):
return [num_list[i:i+n] for i in range(0, len(num_list), n)]
'WIL&TIL > TIL' 카테고리의 다른 글
20230424 TIL - 알고리즘 (4) | 2023.04.24 |
---|---|
20230421 TIL - Customizing token claims, 알고리즘 (0) | 2023.04.21 |
20230419 TIL 알고리즘, 비트 쉬프트 연산 (0) | 2023.04.19 |
20230418 TIL DRF 시작 전 준비운동하기 - HTTP, 웹 (0) | 2023.04.18 |
20230417 TIL __contains, :=, HTTP_REFERER (0) | 2023.04.17 |
댓글