Til
Til 24.03.15 파이썬 코딩테스트 기초
dini_dini
2024. 3. 15. 13:53
>>n의 배수 고르기
def solution(n, numlist):
answer=[ ] # 엔의 배수 들어갈 리스트를 초기화
for i in numlist:
if i%n == 0: #엔의 배수일경우
answer.append(i) #엔서리스트에 아이를 추가
return answer
>>n번째 원소까지 구하기
def solution(num_list, n):
return num_list[:n] # 넘리스트를 엔까지 구함
num_list [:n] : 이게 항상 헷깔림 - > n번째 까지
>>조건에 맞게 수열변환1
----오류코드----
#오류코드
def solution (arr, k):
even_sum =[]
odd_mul =[]
for i in arr:
if k%2 == 0:
even_sum.append(i+k)
return even_sum
else:
odd_mul.append(i*k)
return odd_mul
위와같이 하면 arr배열의 첫번째 값만 반환이됨
#수정1
def solution (arr, k):
even_sum =[]
odd_mul =[]
for i in arr:
if k%2 == 0:
even_sum.append(i+k)
else:
odd_mul.append(i*k)
if k%2 ==0: #짝수홀수 인지 판단하고 리턴하는것을 밖으로빼줌
return even_sum
else:
return odd_mul
내용이 간단한것에 비해 너무 김
# 좀더 짧게 수정한 코드
def solution (arr, k):
if k%2 ==1:
return [k*i for i in arr]
else:
return [k+i for i in arr]
[ ] 를써서 바로 리턴해주니 코드도 짧고 보기도 편해짐
>>조건에 맞게 수열변환
def solution(arr):
answer = []
for i in arr:
if i >=50 and i % 2 ==0 : #원소가 50보다 크거나 같고 짝수라면
answer.append(i/2)
elif i < 50 and i %2 == 1 : #원소가 50보다 작고 홀수라면
answer.append(i*2)
else: #그외의 경우 그대로
answer.append(i)
return answer
그외의 경우를 안써서 오류가 났었음 문제이해를 제대로 해야함 ㅇㅇ
>>n보다 커질때까지 더하기
def solution (numbers, n):
answer = 0 # 더할거니까 0으로 초기화
for num in numbers:
if answer <=n:
answer += num
return answer
그if 외의 경우는 구하지 않음으로 바로 리턴 ㄱㄱ