알고리즘 공부/파이썬(Python)

백준 2577번 숫자의 개수 파이썬

마달랭 2024. 7. 5. 01:11
반응형

리뷰

eval 함수를 처음 접하게 되었다.

 

문제 풀이

  1. 리스트에 세개의 정수 인자를 받아온다.
  2. val에 리스트에 존재하는 숫자의 곱을 문자열로 받아온다.
  3. 0~9의 키값을 갖는 딕셔너리를 초기화 해준다.
  4. val값을 돌며 딕셔너리의 키값과 매치되는 숫자의 값을 올려준다.
  5. 각 딕셔너리의 value값을 출력해 준다.

 

참고 사항

eval함수는 연산이 가능한 문자열로 이루어져 있을 경우 문자열의 연산을 수행한 뒤 값을 출력해 준다.

val을 문자열로 변경해 주었을 경우 딕셔너리의 키 값도 문자열이 되어야 한다.

 

정답 코드

def q2577():
    # 백준 2577번 숫자의 개수 파이썬
    lst = [int(input()) for _ in range(3)]
    val = str(eval('*'.join(map(str, lst))))
    dic = {str(i): 0 for i in range(10)}
    for char in val:
        dic[char] += 1
    for val in dic.values():
        print(val)
q2577()

 

 

728x90
반응형