좋아하는 블로그의 예전 글을 보다가 우연히 구글 인터뷰 문제 풀이를 보게 되었는데, 다소 재미있는 것 같아서 풀어 보도록 하자.
문제. 1에서 1000사이중에 8은 몇번이 있을까?
풀이.
1을 0001로 본다면, 주어진 숫자의 자릿수는 4이다.
그 중 첫번째 자릿수는 0 혹은 1 뿐이고, 나머지 자릿수는 0부터 9까지 나올 수 있다.
일자리에 8이 나올 경우는 몇 번일까… 앞에 100이 있으니 100번.
십자리에 8이 나올 경우는 몇 번일까… 앞에 10이 있으니 10번에 뒤에 일자리가 버티고 있으니 10*10 해서 100번.
백자리에 8이 나올 경우는 몇 번일까… 뒤에 100이 있으니 100번.
따라서 답은 100+100+100 = 300번이다.
이 풀이를 구글이 만든 크롬의 개발자 콘솔을 이용해서 자바스크립트 코드로 작성해 보면 아래와 같다.