프로그래머스 짝수 홀수 개수

프로그래머스 코딩테스트 짝수 홀수 개수 문제이며, 풀이는 파이썬 Python으로 작성했습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/120824

 

문제설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution함수를 완성해보세요.

제한사항

  • 1 <= num_list의 길이 <= 100
  • 0 <= num_list의 원소 <= 1,000

입출력 예

num_list result
[1, 2, 3, 4, 5] [2, 3]
[1, 3, 5, 7] [0, 4]

코드

def solution(num_list):
    odd = []
    even = []
    
    for i in num_list:
        if i % 2 ==0:
            even.append(i)
        else:
            odd.append(i)
    return [len(even), len(odd)]

솔루션

홀수 odd 와 짝수 even 을 리스트로 초기화 하고 for문으로 num_list의 원소를 순회하며 if문에서 홀수와 짝수를 구분하여 append하고  길이를 계산하여 카운트 값을 리턴하게 하였다

 

[참고] 다른 사람의 풀이

def solution(num_list):
    even, odd = 0 ,0 
    for i in range(len(num_list)):
        if num_list[i] % 2==0:
            even +=1
        else:
            odd +=1
    return [even, odd]

even과 odd를 리스트로 초기화한 내 풀이와 달리 0으로 초기화하여 리턴 값에 len함수 사용하지 않고 바로 카운트가 가능하게 짜여진 코드

def solution(num_list):
    answer = [0,0]
    for n in num_list:
        answer[n%2]+=1
    return answer

 

가장 좋아요 많이 받은 풀이다. if문을 사용하지 않고 짝수라면 answer[0], 홀수라면 answer[1]에 1씩 카운트되게 한다.

 

리스트의 성질을 적용할 수 있게 코드를 짜는 연습을 해야겠다.