-
[Programmers/프로그래머스]x만큼 간격이 있는 n개의 숫자코딩테스트/Programmers 2022. 9. 27. 18:17728x90반응형
문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
제한 조건
- x는 -10000000 이상, 10000000 이하인 정수입니다.
- n은 1000 이하인 자연수입니다.
입출력 예
x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] 풀이
이 문제는 range() 함수와 리스트 컴프리헨션을 사용하면 쉽게 풀 수 있다.
- range() 함수의 매개변수는 다음과 같다.
- start=0 : 시작 (전달하지 않을 시, 기본값:0)
- end = 값 : 값 - 1까지
- step = 1 : 숫자 간격(전달하지 않을 시, 기본값: 1)
range() 함수에 n을 전 달하면 0~n-1까지의 n개의 숫자가 들어있는 변경할 수 없는 순서 객체를 반환한다.
리스트 컴프리헨션을 사용해 간격과 시작값을 정해주고 만들어진 리스트를 반환하면 된다.
- ex) n = 5 , x = 2 --> 2 4 6 8 10 --> (2+(2*0)) (2+(2*1)) (2+(2*2)) (2+(2*3)) (2+(2*4))
- 위의 패턴을 코드화 하면 (x+(x*i)) , i는 range(n)
def solution(x, n): answer = [x+(x*i) for i in range(n)] return answer
728x90반응형'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers/프로그래머스]콜라츠 추측 (0) 2022.09.27 [Programmers/프로그래머스]나머지가 1이 되는 수 찾기 (0) 2022.09.27 [Programmers/프로그래머스]문자열을 정수로 바꾸기 (0) 2022.09.27 [Programmers/프로그래머스]정수 내림차순으로 배치하기 (0) 2022.09.27 [Programmers/프로그래머스]하샤드 수 (0) 2022.09.27