[프로그래머스] LV.0 짝수 홀수 개수 / 파이썬(Python)

디딧·2022년 11월 22일

프로그래머스

목록 보기
32/36
post-thumbnail

문제 설명

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

제한사항

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

풀이 1

def solution(num_list):
    even_num = 0
    for num in num_list:
        if num % 2 == 0:
            even_num += 1
        else:
            continue
    return [even_num, len(num_list)-even_num]
  • 답은 나오긴 하는데, 배열이 길수록 반복문 수행 시간이 오래걸릴테니까 다른 풀이를 생각해봄

풀이2 (최종제출)

  • idea

    num_list 각 원소에 대해 2로 나눈 나머지를 구한 리스트를 만든 후,
    0의 개수와 1의 개수를 각각 짝수의 개수, 홀수의 개수로 return한다.
def solution(num_list):
    answer = [num%2 for num in num_list]
    return [answer.count(0), answer.count(1)]

다른 사람 풀이

  • idea

    [0, 0]이라는 길이 2짜리 리스트 answer를 만들어두고,
    반복문으로 각 원소의 나머지가 0이라면 answer의 0번째 원소에 1을 더해주고,
    나머지가 1이라면 answer의 1번째 원소에 1을 더해준다.
def solution(num_list):
    answer = [0,0]
    for n in num_list:
        answer[n%2]+=1
    return answer
profile
M.S. in Statistics, 2022 - present

0개의 댓글