Baekjoon 문제 풀기 (2577번 : 숫자의 개수) Python

2577번 : 숫자의 개수

1. 문제읽기


count함수 사용하기

a x b x c 의 값을 문자열로 바꿔서 리스트로 받아준 뒤, count 함수를 사용하여 각 숫자의 갯수를 구해준다.

2. 제출 코드


a = int(input())
b = int(input())
c = int(input())

list_n = []
str_n = str(a*b*c)

for i in str_n:
    list_n.append(int(i))

for i in range(10):
    print(list_n.count(i))

3. 공부할 것


count함수를 그냥 a x b x c 값에서 쓸 수 있을 줄 알았는데 쓸 수 없었다.
리스트안에 39204950 의 값이 있다면 똑같이 동작할 줄 알았는데 아니었다.
그래서 문자열을 다시 쪼개서 리스트에 넣어주었더니 작동했다.
한 요소에 한 값만을 찾아주는 것이였다.

그리고 굳이 for문을 쓰지 않고도 str_n = = list(str(a * b * c)) 로 리스트를 만들 수 있다.
또한 주의할 점은 count함수의 파라미터와 찾을 값의 자료형을 꼭 일치시켜주어야한다.
따라서 코드를 다시 정리해보면 아래와 같이 바꿀 수 있다.

a = int(input())
b = int(input())
c = int(input())

list_n = list(str(a*b*c))

print(list_n)
for i in range(10):
    print(list_n.count(str(i)))

기존의 코드는 int형 값을 count 하는 코드였다면, 이 코드는 str형 값을 count하는 코드이다.

댓글남기기