ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 둘러보기 0005
    Python 2019. 2. 11. 17:16
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    """
    구글 입사문제 중에서
    --------------------
    1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
    8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
    (※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
    """
    """
    풀이 방법
    10,000 에는 8 이 없으니 무시하고, 1 부터 9999 까지
    X X X 8 인 경우 : 1,000개 ( X X X 는 세자리이므로 0 0 0 ~ 9 9 9 까지 천개)
    X X 8 X 인 경우 : 1,000개 ( X X X 는 세자리이므로 0 0 0 ~ 9 9 9 까지 천개)
    X 8 X X 인 경우 : 1,000개 ( X X X 는 세자리이므로 0 0 0 ~ 9 9 9 까지 천개)
    8 X X X 인 경우 ; 1,000개 ( X X X 는 세자리이므로 0 0 0 ~ 9 9 9 까지 천개)
    총 4,000 개 아닌가?
    """
    """
    Java로 풀면
    public class CountingEight {
        public static void main(String[] args) {
            for (int i=0; i<=10000; i++){
                searchEight(i);
            }
            System.out.println("1에서 10,000 사이에 존재하는 8의 개수는? "+count);
        }
        private static int count = 0;
        public static void searchEight(int num){
            if (num%10==8) count++;
            if (num>10) searchEight(num/10);
        }
    }
    """
    """
    C로 풀면
    int count = 0;
    for(int i = 1; i < 10001; i++)
    {
        for(int j = i; j > 0; j /= 10)
        {
            if(j % 10 == 8)
            {
                count++;
            }
        }
    }
    """
    # 그럼 파이선은?
    print(str(list(range(110001))).count('8'))
    cs


    'Python' 카테고리의 다른 글

    둘러보기 0007  (0) 2019.02.11
    둘러보기 0006  (0) 2019.02.11
    둘러보기 0004  (0) 2019.02.11
    둘러보기 0003  (0) 2019.02.11
    둘러보기 0002  (0) 2019.02.11
Designed by Tistory.