[짝수홀수개수]
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
num_list | result |
---|---|
[1, 2, 3, 4, 5] | [2, 3] |
[1, 3, 5, 7] | [0, 4] |
def solution(num_list):
answer = []
even = 0
odd= 0
for each in num_list:
if each%2==0 :
even += 1
else:
odd += 1
return [even,odd]
원래는 answer = [0,0] 으로 설정해두고 하나씩 늘려나가는 방향으로 코드를 짰었는데 왜인지 모르게 불가능하다고 해서 빠르게 포기하고 even odd 두 변수를 새로 설정해줬다 왜 안됐는지는.. 나도 다시 생각해봐도 모르겠다 오류에서는 그냥 syntax error 라고만 말해줬음
아무튼 번잡하지만 대충 뜻은 통하는 코드가 완성됐다
def solution(num_list):
answer = [0,0]
for n in num_list:
answer[n%2]+=1
return answer
왜.. 내거에선.. 안됐는가.............. 왜.....................
그래도 그걸 감안하더라도 내것보다 훨씬 깔끔한 코드다. 난 처음에 삼항연산자 써서 한줄로 했었는데 ㅡ것보다는 이게 더 이해하기 쉬운것 같기도 하고
def solution(num_list):
odd = sum(1 for n in num_list if n % 2)
return [len(num_list) - odd, odd]
이 풀이는 짝수와 홀수의 합이 어쨌든 그 리스트의 length라는 걸 감안해서 만든 코드
숨은 조건을 놓쳤다 나는