문제
함수 solution은 정수 x와 자연수 n을 입력 받아,
x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다.
다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
정리
문제를 간단히 설명하면, x의 배수를 n까지 나타내는 것이다.
예를들어, x가 2이고 n이 5일 때, 2부터 2*5=10까지 2의 배수를 나타내면 된다.
나의 풀이
나는 늘 그렇듯 반복문으로 생각하였고, x가 양수/음수일 때 다른 처리를 하기 위해
반복문을 두개를 사용했다.
테스트는 통과했지만, 한 개정도가 런타임 에러가 발생했다.
GPT 풀이
GPT 선생님은 리스트 컴프리헨션을 사용했고 런타임 에러 없이 통과했다.
x*i 는 x의 배수를 생성하고, range(1,n+1)은 1부터 n까지의 숫자를 생성한다.
x=2, n=5 일 경우
1부터 6까지 반복되며 i=1일 때 -> 2*1 반환 , i=2일 때 -> 2*2 반환 , ...
이런식으로 실행된다.
오늘의 학습
- 리스트 컴프리헨션을 다시 알게되었다. 많이 쓰인다고 하니 꼭 머리에 저장해두기!
- 리스트 컴프리헨션은 파이썬에서 리스트를 간결하고 쉽게 생성하는 방법으로,
기존 리스트를 기반으로 새로운 리스트를 만들거나, 특정 조건에 맞는 요소들만 뽑아낼 때 유용함
- 형식 : [리스트의 각 요소가 될 값 for i in 반복 범위]
- 중첩 : [(x,y) for x in [1,2,3] for y in [4,5,6]]
-> x,y가 묶일 수 있는 경우의 수 만큼 객체가 반환됨