728x90
<문제 설명>
https://programmers.co.kr/learn/courses/30/lessons/12954
코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
programmers.co.kr
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴하면 되는 문제이다.
입출력의 예는 다음과 같다.
x | n | answer |
2 | 5 | [2,4,6,8,10] |
4 | 3 | [4,8,12] |
-4 | 2 | [-4, -8] |
<문제 해결 아이디어>
x가 정수인 만큼 양수, 음수, 0의 경우의 수를 두고 코드를 구성해야 한다.
양수일 경우는 그대로 적용 시켜서 for문을 돌리면 되고, 음수 일 경우는 -를 적용시켜 코드를 작성하면 된다.
마지막으로 0일 경우인데, 이 경우는 0을 n개 만큼 리스트에 추가해 리턴해주면 된다.
<문제 풀이 코드>
def solution(x, n):
answer = []
a = 1
if x == 0:
for i in range(n):
answer.append(0)
return answer
if x<0:
a = -1
for i in range(x,n*x+a,x):
answer.append(i)
return answer
ps. 처음에 x가 0인 걸 고려하지 않고 코드를 짜서 채점했을때 런타임 에러가 났다... 조건을 잘 확인하고 작성하자...
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스 lv 1] 정수 내림차순으로 배치하기.py (0) | 2022.01.26 |
---|---|
[프로그래머스 lv 1] 문자열 다루기 기본.py (0) | 2022.01.24 |
[프로그래머스 lv 1] 같은 숫자는 싫어.py (2) | 2022.01.17 |
[프로그래머스 lv 1] 두 정수 사이의 합.py (0) | 2022.01.13 |
[프로그래머스 lv 1] 3진법 뒤집기.py (0) | 2022.01.12 |