728x90
반응형
SW Expert Academy 4834번 숫자 카드 문제는 숫자가 적힌 N장의 카드 중 가장 많은 카드에 적힌 숫자와 카드가 몇 장인 지를 출력하는 문제이다. 카드 장 수가 같을 때는 적힌 숫자가 큰 쪽을 출력한다. 리스트 자료구조에 관한 문제이며 난이도는 D2이다.
SW Expert Academy 4834번 숫자 카드 문제 정보
자료구조 분류
리스트
난이도
D2
숫자 카드 문제 요약
- N장의 숫자 카드가 주어졌을 때, 가장 많은 카드에 적힌 숫자와 장 수를 출력한다.
- N의 범위는 5 이상 100 이하, 카드에 적힌 숫자의 범위는 0~9이다.
- 카드 장 수가 같을 때에는 적힌 숫자가 큰 쪽을 출력한다.
문제 풀이 과정
- 숫자의 범위가 0~9 이므로 숫자 별 카드 장 수를 카운트하기 위해 길이가 10인 cnt 리스트를 선언했다.
- 숫자 카드의 숫자를 입력받아 a 리스트에 저장하고 cnt 리스트에 숫자(인덱스) 별 카드 장 수(값)를 저장하였다.
- cnt 리스트에서 최댓값을 구하여 tmp 리스트에 저장하였다.
- 테스트 케이스 번호, 숫자, 장 수를 출력하였다.
코드
T = int(input()) #T: 테스트케이스 개수
for i in range(T): #테스트케이스 번호: i+1
cnt = [0 for i in range(10)] #cnt: 숫자별 카드 개수 저장 리스트
tmp = [0 for i in range(2)] #tmp: 출력 값 저장 리스트
n = int(input()) #n: 카드 장수
a = list(map(int, input())) #a: n개 카드의 숫자들
for num in a:
cnt[num] += 1
maxNum = 0
for idx, c in enumerate(cnt):
if c >= maxNum:
maxNum = c
tmp[0] = idx
tmp[1] = c
print("#{0} {1} {2}".format((i+1), tmp[0], tmp[1]))
SW Expert Academy 4834번 숫자 카드 문제는 리스트 자료구조에 관한 문제이며 언어는 파이썬을 사용하였다. 난이도 D2 중에서 어렵지는 않은 수준 같다. 해결 법을 생각해 내는데 별로 오랜 시간이 걸리지 않았고, 한 번에 pass 하였기 때문이다.
728x90
반응형
'Algorithm Problem Solving > SW Expert Academy' 카테고리의 다른 글
[Python] SW Expert Academy - 4837. 부분집합의 합 (0) | 2021.07.24 |
---|---|
[Python] SW Expert Academy - 4836. 색칠하기 (0) | 2021.07.24 |
[Python] SW Expert Academy - 4831. 전기버스 (0) | 2021.07.23 |
[Python] SW Expert Academy - 4828. min max (0) | 2021.07.22 |
[Python] SW Expert Academy - 4835. 구간합 (1) | 2021.07.21 |
댓글