[파이썬]1~5000 사이의 셀프 넘버들의 합 구하기
이번 포스팅에서는 넥슨의 입사 문제였던 셀프 넘버들의 합을 구하는 문제를 풀어볼 것이다. 셀프 넘버들의 합 구하기 - for문으로 풀기 문제 정의 어떤 자연수 n이 있을 때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의한다. 예를 들어 d(91) = 9 + 1 + 91 = 101 이때, n을 d(n)의 제네레이터(generator)라고 한다. 위의 예에서 91은 101의 제네레이터이다. 어떤 숫자들은 하나 이상의 제네레이터를 가지고 있는데, 101의 제네레이터는 91 뿐 아니라 100도 있다. 그런데 반대로, 제네레이터가 없는 숫자들도 있으며, 이런 숫자를 인도의 수학자 Kaprekar가 셀프 넘버(self-number)라 이름 붙였다. 예를 들어 1,3,5,7,9,20,31 은 셀..
2022. 10. 26.
[파이썬]1~10,000까지 8의 개수 세기
오늘은 1에서 10,000 사이의 숫자들에서 8이 몇번 나오는지 세는 코드를 작성해보자. 1부터 10,000 사이에서 8의 개수 구하기 1부터 10,000까지의 숫자들에서 나타나는 모든 8의 개수를 구해야한다. 다음 예시를 보자. 1~20: 8, 18 → 2개 1~100: 8, 18, 28, 38, 48, 58, 68, 78 ,88, 98 → 11개 8688 안의 8의 개수는 3개, 1878 안의 8의 개수는 2개이다. for문과 count함수 이용하기 count = 0 for i in range(1, 10001): count += str(i).count('8') print(count) #결과 출력 4000 for문과 문자열의 count 함수를 이용하여 쉽게 답을 구할 수 있다. count += str(..
2022. 10. 24.
[파이썬]1부터 1000까지 각 숫자의 개수 세기
오늘은 코딩 도장에서 많은 추천수를 받은 문제인 1부터 1000까지의 숫자에서 등장하는 숫자들의 개수를 세는 문제를 풀어보자. 각 숫자의 개수 구하기 우선 예시를 보자. 만약 1부터 20까지의 숫자들에서 나오는 숫자들의 개수를 구해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 → 0: 2개, 1: 12개, 2: 3개, 3: 2개, 4: 2개, 5: 2개, 6: 2개, 7: 2개, 8: 2개, 9: 2개 155에는 1이 1개, 5가 2개 있는 셈이다. 각 숫자들이 나오는 횟수을 합해보자. for 반복문 단순하고 간단하게 풀어봤다. nums = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for i in range(1, 1001): for j i..
2022. 10. 23.