[Python] 코딩 도장 - 홀수와 짝수의 개수 구하기
Updated:
코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.
코딩 도장에서 여러 문제를 확인할 수 있습니다.
난이도 순으로 차근차근 풀어보려 합니다.
[문제: 홀수와 짝수의 개수 구하기] - Lv.1
홀수와 짝수의 개수를 구하는 프로그램을 만들어라.
[3, 4, 5, 6, 7]
= 홀수 3개, 짝수 2개
[12, 16, 22, 24, 29]
= 홀수 1개, 짝수 4개
[41, 43, 45, 47, 49]
= 홀수 5개, 짝수 0개
홀수 : 2로 나누어 떨어지지 않는 정수
짝수 : 2로 나누어 떨어지는 정수
출처: https://codingdojang.com/scode/613?answer_mode=hide
[풀이]
def f(x):
return x % 2
def odd_even(x):
x2 = list(map(f,x))
odd = sum(x2)
even = len(x2) - sum(x2)
print(f"{x} = 홀수 {odd}개 짝수 {even}개")
x = [12, 16, 22, 24, 29]
odd_even(x)
우선 map()
을 이용해서 기존 리스트를 2로 나누었을 때 나머지 값을 리스트로 생성하였다.
나머지 값을 더한 값은 홀수의 갯수가 될 것이고 전체 길이에서 홀수의 갯수를 빼 짝수의 갯수를 구하였다.
[추천 풀이]
def count_odd_n_even(lst):
odd = len([x for x in lst if x % 2 == 1])
return (odd, len(lst) - odd)
내가 map()
을 써서 나누었다면 이 분은 한줄 for문을 이용해서 동일한 작업을 해주었다.
Leave a comment