[파이썬] 2577번:숫자의개수

김충섭·2021년 6월 2일
0

백준

목록 보기
29/39
post-thumbnail
post-custom-banner


  • 처음 접근법
x = []  # 세 변수를 저장할 리스트 선언
position = []  # 0~9까지 숫자 갯수를 저장할 리스트

for i in range(3):
    N = int(input())  # A, B, C는 100이상~ 1000미만 이므로 세 곱은 7자리~ 9자리 수
    x.append(N)

result = x[0] * x[1] * x[2]  # 문제: result는 7~9자리 수. 0~9를 리스트로 저장? 어떻게 카운드 하지?

감을 전혀 못 잡아서 구글에 검색했다!!

  • 해결
a = int(input())
b = int(input())
c = int(input())

num = a * b * c
num_list = list(str(num))  # list()함수를 사용하여 곱한 결과를 각 자리 별로 리스트의 요소로 저장한다.

for i in range(10): # 10번 반복
    num_list_count = num_list.count(str(i))  # count()를 이용하여 인자로 준 문자열과 같은 요소의 갯수를 카운트한다.
    print(num_list_count)
  1. str(num): num을 문자열 형으로 바꾼다.
  2. list(문자열): 문자열을 리스트로 바꾼다.
  3. numlist.count(str(i)): 인자로 들어온 문자열과 같은 요소들을 카운트 한다.

여기서 num과 i를 굳이 문자열로 바꿔야 하나 생각해서 str() 함수를 지워봤는데 다음과 같은 타입에러가 떴다.
즉 list()에는 정수형이 인자로 들어갈 수 없다는 말이다.

profile
나를 위한 개발블로그
post-custom-banner

0개의 댓글