[SWEA] 4834 - 숫자 카드 (python)

ttaho·2022년 11월 3일

SWEA

목록 보기
2/38

문제

0에서 9까지 숫자가 적힌 N장의 카드가 주어진다.

가장 많은 카드에 적힌 숫자와 카드가 몇 장인지 출력하는 프로그램을 만드시오. 카드 장수가 같을 때는 적힌 숫자가 큰 쪽을 출력한다.

[입력]

첫 줄에 테스트 케이스 개수 T가 주어진다. ( 1 ≤ T ≤ 50 )

다음 줄부터 테스트케이스의 첫 줄에 카드 장수 N이 주어진다. ( 5 ≤ N ≤ 100 )

다음 줄에 N개의 숫자 ai가 여백없이 주어진다. (0으로 시작할 수도 있다.) ( 0 ≤ ai ≤ 9 )

[출력]

각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 가장 많은 카드의 숫자와 장 수를 차례로 출력한다.

풀이

0~9까지 숫자 카운트를 할 count라는 리스트를 선언 해주고 나온 횟수만큼 count에 더해준다. 그 후에 count리스트 값 중 제일 큰 값과 그것의 인덱스를 max,max_idx에 저장 후 출력

코드

T = int(input())
for i in range(1, T+1):
  count = [0]*10
  N = int(input())
  arr = input()
  for j in range(N):
    count[int(arr[j])] +=1
  max=0
  max_idx=0
  for j in range(1,10):
    if max <= count[j]:
      max=count[j]
      max_idx=j
  print(f'#{i} {max_idx} {max}')
profile
SW Engineer

0개의 댓글