1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
(※(注記) 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
Ruby
puts ("1".."10000").to_a.join.count("8")
문자열 Range "1" 부터 "10000" 까지를, Array로 변환, Array를 하나의 문자열로 합치고, "8"이라는 문자를 Count 한 후, 결과를 출력한다.
여러분 루비하세요. 자바가 한문이라면 루비는 한글입니다.
2014年05月05日 14:26
Ruby
# one-liner
p ([*1..10000]*'').count '8' #=>4000
# for test
counter = ->num,s {([*1..num]*'').count s}
Test
expect(counter[10000,'8']).to eq 4000
2016年02月14日 12:48
def solution
(1..10000).inject(0){|c, n| c+=n.digits.count(8)}
end
p solution
2018年12月04日 14:06
풀이 작성