n의 배수 고르기
2024. 9. 18. 18:00ㆍ코딩테스트 입문
https://school.programmers.co.kr/learn/courses/30/lessons/120905
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 10,000
- 1 ≤ numlist의 크기 ≤ 100
- 1 ≤ numlist의 원소 ≤ 100,000
입출력 예
n | numlist | result |
3 | [4, 5, 6, 7, 8, 9, 10, 11, 12] | [6, 9, 12] |
5 | [1, 9, 3, 10, 13, 5] | [10, 5] |
12 | [2, 100, 120, 600, 12, 12] | [120, 600, 12, 12] |
입출력 예 설명
입출력 예 #1
- numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다.
입출력 예 #2
- numlist에서 5의 배수만을 남긴 [10, 5]를 return합니다.
입출력 예 #3
- numlist에서 12의 배수만을 남긴 [120, 600, 12, 12]를 return합니다.
정수 리스트 numlist이 주어지는 데, 그 안의 정수들에서 n의 배수를 구하는 문제입니다.
딱히 정렬이라는 키워드도 없고, 예시에서도 그냥 배수 관계면 그대로 출력하는 듯합니다.
리스트 컴프리헨션을 사용한 반복문으로 간단하게 풀 수 있을 것 같네요. 파이썬으로 문제를 풀어보겠습니다.
def solution(n, numlist):
# numlist에 속한 k가 n의 배수라면 추가합니다.
return [k for k in numlist if k % n == 0]
numlist의 값을 k로 가져온 뒤, k % n으로 나머지가 0이라면 배수 관계이므로 k를 리스트에 추가합니다.
해당 리스트를 반환해주면 문제를 풀 수 있습니다.