code/[프로그래머스] python

[코딩 테스트 연습 입문] 짝수 홀수 개수

오리는짹짹 2022. 12. 23. 18:35

문제

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

 

❗제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다.

입출력 예 #2

  • [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다.

 

✔풀이

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

📝설명

짝수를 의미하는 even, 홀수를 의미하는 odd를 만들었다.

후에 num_list를 for문을 통해 숫자를 꺼내고, 그 숫자에서 2를 나눈 나머지 값이 0이라면 짝수에 +1을, 나머지가 0이 아니라면 홀수에 +1을 하도록 했다.

개선한다면?

 

👑모범 답안

🔎내 풀이에서의 if문을 깔끔하게 제거했다. 

숫자에서 2를 나누고 난 후 나머지는 0과 1이다. 

이 숫자는 동시에 answer 리스트의 인덱스값과 일치한다는 점을 착안하여 if문 없이도 리스트에 숫자를 배정할 수 있다.

 

👀느낀 점

: 이해도가 높으면 모범 답안과 같은 범상치 않은 답안이 나오는 것 같다.

문제에 대한 이해, 파이썬에 대한 이해도를 기반으로 남들에게 배울 점을 줄 수 있는.. 사람이 될테야