그룹에서 짝수 계산하기

2267 단어 Ruby

첫 문장


프로그래밍 초보자
공부해서 신경 쓰이는 일, 적어두고 싶은 일, 오리지널 앱 제작할 때 등 기사.
첫 번째 보도는 표준 문제配列内の偶数を数える方法로 썼다.
언제 잊었는지 오래전부터 같은 문제를 해결했다.
처음 풀었을 때 도중에 이해하지 못하고 해설이 곁들여진 답안을 보았다.
def count_evens(nums)
  count = 0
  nums.each do |num|
    if num.even?
      count += 1
    end     
  end
  puts count
end
※ 출력 예
count_evens([2, 1, 2, 3, 4]) → 3
count_evens([2, 2, 0]) → 3
count_evens([1, 3, 5]) → 0
지금은 일반적으로 이해할 수 있다. 간단하게 설명하면 먼저 배열 중의 숫자를 모두 꺼내서 조건에 맞는 것을 if분으로 계산하면 짝수를 계산할 수 있다.(두루뭉술하지만 잘 어울리죠?)
이번이 두 번째 도전이다.
나는 위에 쓴 내용을 좀 잊어버려서 아무것도 보지 않고 문제를 해결했다.
※ 이번 답변은
def count_evens(num)
  puts num.count{ |i| i.even? }
end 
계수해야 하니까count 방법으로 하면 돼요.
이해를 깊게 하기 위해 해설할 때 살짝 조사했다.
count 방법 공식 참조
인용에도count 방법은 블록을 지정한 상황에서 진정한 값을 세는 것이라고 쓰여 있다.
처음 본 해설이 담긴 답안과 같은 결과를 출력했다.(예측)
나는 이 생각이 정말인지 아닌지 모르겠다.잘못된 점이 있으면 지적해 주세요.
네, 일요일

좋은 웹페이지 즐겨찾기