[백준/Python] 2577번 : 숫자의 개수

문제

https://www.acmicpc.net/problem/2577

  • 숫자의 각 자릿값에 사용된 숫자의 개수를 찾는 문제

풀이

인덱스가 숫자를 나타내고, 값을 개수로 가지는 ls 배열을 활용하여 문제를 풀었다.

# 숫자의 개수
A = int(input())
B = int(input())
C = int(input())

ls = [0] * 10

target = A*B*C

for c in str(target):
    ls[int(c)] += 1

# 배열의 모든 요소를 띄어서 출력
print(*ls, sep="\n")

후기

과거에 파이썬을 많이 다뤄보지 않고 풀었던 풀이를 보고는 조금 적잖은 충격을 먹었다. 나도 모르는 사이에 조금씩 성장해가는 것 같다. 과거에 내가 풀었던 풀이는 다음과 같다.. 이렇게 간단한 문제를 if문을 활용하여 참 길게도 풀었다.

A = int(input())
B = int(input())
C = int(input())
target = str(A*B*C)
answer = [0,0,0,0,0,0,0,0,0,0]

# solve
for char in target:
        if char == '0':
                answer[0] +=1
        elif char == '1':
                answer[1] +=1
        elif char == '2':
                answer[2] +=1
        elif char == '3':
                answer[3] +=1
        elif char == '4':
                answer[4] +=1
        elif char == '5':
                answer[5] +=1
        elif char == '6':
                answer[6] +=1
        elif char == '7':
                answer[7] +=1
        elif char == '8':
                answer[8] +=1
        elif char == '9':
                answer[9] +=1
for cnt in answer:
        print(cnt)

성장하는 걸 매일 매일 체감할 수 있다면 꾸준히 공부해나가는 데에 참 많은 도움이 되겠지만 매일 일어나는 조금씩의 성장은 1년이 지나고, 시간이 흐르고 나서야 서서히 드러나게 되는 경우가 많은 것 같다. 지금 당장 성장이 더딘 것 같고 공부에 회의감을 느끼게 되더라도 노력은 절대 배신하지 않는다는 사실을 상기하게 됐다.