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를 리스트에 추가합니다.

해당 리스트를 반환해주면 문제를 풀 수 있습니다.

'코딩테스트 입문' 카테고리의 다른 글

OX퀴즈  (0) 2024.09.20
자릿수 더하기  (0) 2024.09.19
숫자 찾기  (1) 2024.09.17
배열의 유사도  (0) 2024.09.16
문자열 계산하기  (0) 2024.09.15