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

파이썬에서 3-6-9


숫자 n이 있다고 가정하면 3의 배수이거나 3, 6 또는 9가 있는 경우를 제외하고 1에서 n까지의 각 숫자로 목록을 구성해야 합니다. 숫자, "no-fill" 문자열이어야 합니다.

따라서 입력이 20과 같으면 출력은 ['1', '2', '박수', '4', '5', '박수', '7', '8', '짝', '10', '11', '짝', '짝', '14', '짝', '짝', '17', '짝', '짝', '20' ']

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

  • 문자열 :="채우기 없음"

  • ls:=1에서 n까지의 숫자 목록을 문자열로 만들기

  • 범위 0에서 ls - 1까지의 i에 대해 수행

    • ls[i]가 3으로 나누어 떨어지면

      • ls[i]:=문자열

    • 그렇지 않으면 '3'이 ls[i]에 있으면

      • ls[i]:=문자열

    • 그렇지 않으면 ls[i]에 '6'이 있으면

      • ls[i]:=문자열

    • 그렇지 않으면 '9'가 ls[i]에 있으면

      • ls[i]:=문자열

  • 반환 ls

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution:
   def solve(self, n):
      string = "no-fill"
      ls=[str(i) for i in range(1,n+1)]
      for i in range(len(ls)):
         if int(ls[i])%3==0:
            ls[i]=string
         elif '3' in ls[i]:
            ls[i]=string
         elif '6' in ls[i]:
            ls[i]=string
         elif '9' in ls[i]:
            ls[i]=string
      return ls
ob = Solution()
print(ob.solve(20))

입력

20

출력

['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']