정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
def solution(num_list):
odd_num, even_num = 0, 0
for n in num_list:
if n % 2 == 0:
even_num += 1
else:
odd_num += 1
answer = [even_num, odd_num]
return answer
내가 풀었던 방법은 짝수, 홀수 변수를 만들고 리스트 반복문을 통해 원소가 2로 나누어 떨어지는 경우 짝수에 1씩 추가하고, 나머지는 홀수에 1씩 추가했다. 그리고 이 값들을 리스트에 담아 리턴한다.
문제는 어렵지 않았는데 다른 사람들 풀이를 보다가 코드 길이도 짧고 신선(?)한 방법인 것 같아 참고하려고 글로 작성한다:)
def solution(num_list):
answer = [0,0]
for n in num_list:
answer[n%2]+=1
return answer
2로 나눈 나머지를 리스트 인덱스값으로 접근했다
answer 리스트를 생성해 값이 0인 원소를 두 개 만든다.
반복문을 통해 파라미터로 받은 리스트의 원소를 2로 나눈 나머지를 answer 리스트의 인덱스 값으로 접근해 해당 인덱스 원소의 값을 1씩 추가했다.