Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 처음 n개의 사전 번호를 생성하는 프로그램

<시간/>

숫자 n이 있다고 가정하고 사전순으로 정렬된 처음 n개의 숫자를 찾아야 합니다.

따라서 입력이 n =15와 같으면 출력은 [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]

이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • 카운트:=1
  • ans :=단일 요소 수가 있는 목록
  • as 의 크기
  • count :=count * 10
  • 카운트하는 동안> n, 수행
    • count :=count의 몫 / 10
    • 카운트 :=카운트 + 1
    • count mod 10이 0인 동안 do
      • count :=count의 몫 / 10
    • as 끝에 개수 삽입
  • 반환
  • 더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

    예시 코드

    class Solution:
       def solve(self, n):
          count = 1
          ans = [count]
    
          while len(ans) < n:
             count *= 10
             while count > n:
                count = count // 10
                count += 1
                while count % 10 == 0:
                   count = count // 10
                   ans.append(count)
                return ans
    
    ob = Solution()
    n = 15
    print(ob.solve(n))
    
    

    입력

    15

    출력

    [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]