[백준 2577번-파이썬/Python] 숫자의 개수
알고리즘 공부/BOJ백준 풀이

[백준 2577번-파이썬/Python] 숫자의 개수

http://acmicpc.net/problem/2577

{코드}

data = input()+input()+input()
count = [0]*10
for i in data:
	count[int(i)] += 1
[print(i) for i in count]

{설명}

이 문제는 입력된 세 숫자들에 0~9까지의 숫자가 각각 몇개씩 있는지 찾아내는 문제로 모든 입력을 문자열 한개로 받고 그 문자열을 반복하며 각 숫자의 개수를 리스트에 저장하며 풀 수 있다.

{코드}

from collections import Counter
data = input()+input()+input()
count = Counter(data)
for i in range(10):
	print(0 if str(i) not in count else count[str(i)])

{설명}

또 다른 방법은 파이썬의 기본 모듈 중 하나인 collections에서 Counter라는 클래스를 사용하는 것입니다.

Counter는 iterable(리스트, map, 튜플, 딕셔너리 등의 반복문에 사용할 수 있는 데이터 타입)을 넣으면 각 원소가 몇개씩 있는지 알려준다.

이를 통해 각 입력을 문자열 한개로 입력받고 그 문자열을 Counter에 인자로 넘겨주고 반복문을 통해 0 또는 갯수를 출력하면 된다.