728x90
문제설명
https://school.programmers.co.kr/learn/courses/30/lessons/181901
내 풀이
def solution(n, k):
answer = []
for num in range(n):
if (num+1) % k == 0:
answer.append(num+1)
return answer
어렵지는 않은 문제였다. 그러나 다른 사람 풀이 중 주의 깊게 생각하고 싶은게 있어서 남겨본다.
다른 사람 풀이
def solution(n, k):
return [i for i in range(k,n+1,k)]
range문을 잘 활용한 풀이다!
왜 나는 항상 저런걸 생각해내지 못할까ㅠㅠ
1부터 n까지의 숫자 중 k의 배수를 찾고 싶으므로,
사실상 1부터 for문을 돌 필요가 없다.
배수는 k부터 시작하기 때문이다!
그래서range문을 통해 첫 시작을 k, 끝을 n+1(n도 기준에 포함이기 때문!), 그리고 뛰어넘을 범위를 k로 해주면
k의 배수가 모두 담기게 된다.
기억하고 싶은 풀이를 만나 남겨본다.
끄읏-!
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[프로그래머스][PYTHON] Lv. 0 전국 대회 선발 고사 ( + 딕셔너리 설명) (0) | 2024.01.31 |
---|---|
[프로그래머스][PYTHON] Lv. 0 가까운 1 찾기 (0) | 2024.01.30 |
[프로그래머스][PYTHON] Lv. 1 달리기 경주 (1) | 2024.01.30 |
[프로그래머스][PYTHON] Lv. 1 [PCCE 기출문제] 10번 / 데이터 분석 (1) | 2024.01.26 |
[프로그래머스][PYTHON] Lv. 1 최소직사각형 (1) | 2024.01.26 |