팩토리얼
https://school.programmers.co.kr/learn/courses/30/lessons/120848
- factorial이라는 재귀함수를 만들어서 쓰는 풀이
- math에서 불러와서 사용하는 방법은 주석으로 써두었다.
- 참고했던 블로그: https://haechichi.tistory.com/60
def solution(n):
def factorial(a):
if a == 1:
return 1
return a * factorial(a - 1)
if n < 2:
return 1
# from math import factorial
answer = 10
while n < factorial(answer):
answer -= 1
return answer
2차원으로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/120842?language=python3
- 처음엔 zip을 써야 하나 헷갈렸지만, 일단 for문을 사용해서 문제를 풀었다.
def solution(num_list, n):
answer = []
for i in range(0, len(num_list), n):
in_list = []
in_list = num_list[i:i+n]
answer.append(in_list)
return answer
가까운 수
블로그, 다른 사람의 풀이 참고
- index를 잘 활용해보자!
- 임시로 만드는 리스트 이름은 temp도 괜찮다.
def solution(array, n):
array.sort()
temp = []
for i in array :
temp.append(abs(n-i))
return array[temp.index(min(temp))]
k의 개수
https://school.programmers.co.kr/learn/courses/30/lessons/120887
- 20일때 2를 포함해서 세야하기 때문에 문자열로 변환해서 계산
- 0부터 j 까지 k개수를 센 것(j_cnt)에서 i 까지 센 것(i_cnt) 빼기
def solution(i, j, k):
j_cnt = str(list(range(j+1))).count(f'{k}')
i_cnt = str(list(range(i))).count(f'{k}')
return j_cnt - i_cnt