1. 문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아,
x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고,
조건을 만족하는 함수, solution을 완성해주세요.
제한사항
2. 문제 해석
간단한 문제.
x 값과 n 값이 주어지면 x, x+x, x+x+x, x+x+x+x ..... 을 n개 return 한다.
이 때 x+(n-1)*x 값으로 간단히 표현하고 이를 배열에 추가한다.
'''
x: 정수
n: 자연수
x부터 시작해서 x 씩 증가하는 숫자 n개 return
'''
3. 풀이
풀이 (1) 100/100
def solution(x, n):
answer = []
for i in range(n):
answer.append(x+x*i)
return answer
테스트 1 〉 |
통과 (0.00ms, 10.3MB) |
테스트 2 〉 |
통과 (0.04ms, 10.3MB) |
테스트 3 〉 |
통과 (0.04ms, 10.3MB) |
테스트 4 〉 |
통과 (0.09ms, 10.1MB) |
테스트 5 〉 |
통과 (0.04ms, 10.3MB) |
테스트 6 〉 |
통과 (0.00ms, 10.1MB) |
테스트 7 〉 |
통과 (0.09ms, 10.3MB) |
테스트 8 〉 |
통과 (0.03ms, 10.4MB) |
테스트 9 〉 |
통과 (0.11ms, 10.3MB) |
테스트 10 〉 |
통과 (0.00ms, 10.2MB) |
테스트 11 〉 |
통과 (0.06ms, 10.2MB) |
테스트 12 〉 |
통과 (0.06ms, 10.2MB) |
테스트 13 〉 |
통과 (0.13ms, 10.3MB) |
테스트 14 〉 |
통과 (0.12ms, 10.3MB) |
여기서 list comprehension을 이용하여 짧게하면 다음과 같다.
풀이(2) 100/100, (1)에 비해 약간 빨라짐, List Comprehesion 적용
def solution(x, n):
answer = [x+x*i for i in range(n) ]
return answer
테스트 1 〉 |
통과 (0.00ms, 10.2MB) |
테스트 2 〉 |
통과 (0.02ms, 10.2MB) |
테스트 3 〉 |
통과 (0.03ms, 10.3MB) |
테스트 4 〉 |
통과 (0.04ms, 10.2MB) |
테스트 5 〉 |
통과 (0.03ms, 10.4MB) |
테스트 6 〉 |
통과 (0.01ms, 10.2MB) |
테스트 7 〉 |
통과 (0.07ms, 10.2MB) |
테스트 8 〉 |
통과 (0.02ms, 10.4MB) |
테스트 9 〉 |
통과 (0.08ms, 10.3MB) |
테스트 10 〉 |
통과 (0.00ms, 10.2MB) |
테스트 11 〉 |
통과 (0.04ms, 10.1MB) |
테스트 12 〉 |
통과 (0.05ms, 10.3MB) |
테스트 13 〉 |
통과 (0.10ms, 10.3MB) |
테스트 14 〉 |
통과 (0.10ms, 10.3MB) |
테스트 14에서 기존보도 0.02ms 빨라졌다.
이런식으로 약간의 간소화는 가능하지만 실제로 코딩할 때는 list comprehension을 쓰면 가독성이 많이 떨어져(나의 실력탓 ㅋㅋㅋ) 잘 쓰지 않고 있다.
4. 정리
아무래도 간단한 문제라 코드부터 쳤는데 어제와 마찬가지로 문제의 간단한 case를 실제로 손으로 적어가면서 확인하는 습관을 가져야겠다.