Lv0. 짝수홀수개수

zz·2023년 2월 22일
0

프로그래머스

목록 보기
13/36

[짝수홀수개수]

문제 설명

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

제한사항

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

입출력 예

num_listresult
[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 라고만 말해줬음
아무튼 번잡하지만 대충 뜻은 통하는 코드가 완성됐다

다른 풀이 1

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

왜.. 내거에선.. 안됐는가.............. 왜.....................
그래도 그걸 감안하더라도 내것보다 훨씬 깔끔한 코드다. 난 처음에 삼항연산자 써서 한줄로 했었는데 ㅡ것보다는 이게 더 이해하기 쉬운것 같기도 하고

다른 풀이 2

def solution(num_list):
    odd = sum(1 for n in num_list if n % 2)
    return [len(num_list) - odd, odd]

이 풀이는 짝수와 홀수의 합이 어쨌든 그 리스트의 length라는 걸 감안해서 만든 코드
숨은 조건을 놓쳤다 나는

profile
응애 나 애기개발자

0개의 댓글