# tc 수
tc = int(input())
# tc 수만큼 반복
for i in range(1, tc+1):
# 카드 장수 n
n = int(input())
# n개의 숫자 cards (0은 제거한다)
cards = input()
# 카드 개수가 들어갈 리스트
cards_count = [0 for i in range(10)]
# 카드가 담긴 cards를 돌며 카드 개수 세기
for card in cards:
# 장수가 같은 경우에는 큰 숫자를 출력해야하니
# 큰 카드를 앞쪽부터 저장한다.
cards_count[9-int(card)] += 1
# 가장 많은 카드 개수
max_card = max(cards_count)
# index 함수를 활용하여 가장 많은 카드 개수를 가진 인덱스를 출력한다.
print('#{} {} {}'.format(i, 9-cards_count.index(max_card), max_card))
* 내장함수 (index 함수, max 함수) 안쓰고 풀어보기
# tc 수
tc = int(input())
# tc 수만큼 반복
for idx in range(1, tc+1):
# 카드 장수 n
n = int(input())
# n개의 숫자 cards
cards = int(input())
# 카드 개수가 들어갈 리스트
cards_count = [0 for i in range(10)]
# 카드가 담긴 cards를 돌며 카드 개수 세기
for i in range(n):
# 나머지를 떼서 해당 인덱스(카드 수)에 저장
cards_count[cards%10] += 1
cards //= 10
# 가장 많은 카드와 그 개수 초기화
max_card = 0
max_idx = 0
for i in range(10):
# 카드 개수가 저장되어 있는 값보다 크다면 그 카드의 인덱스(카드 숫자)와 개수를 저장한다.
if cards_count[i] >= max_card:
max_card = cards_count[i]
max_idx = i
print('#{} {} {}'.format(idx, max_idx, max_card))
'Algorithm > SW Expert Academy' 카테고리의 다른 글
[Python] 1209. sum (0) | 2021.08.11 |
---|---|
[Python] 1208. Flatten (0) | 2021.08.11 |
[Python] 4831. 전기버스 (0) | 2021.08.10 |
[Python] 4835. 구간합 (0) | 2021.08.10 |
[Python] 4828. min max (0) | 2021.08.10 |