알고리즘/SWAE

[SWAE- Python] 3834 숫자 카드 문제

황성안 2021. 2. 9. 14:09
728x90

배열의 위치와 관련하여 연습할때 좋은 문제인듯 하다.

 이번 문제의 주요 핵심은

12번 줄의 

Ai = [int(num) for num in input()]  - 이 부분이다. 이녀석은 배열 하나하나에 값을 넣어주는 친구이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 문제
#     가장 많이 적힌 카드 숫자와 몇장 인지 출력
#     만약 카드 장수가 같을때는 큰 숫자를 출력
#
# 입력
#     테스트케이스
#     장수
#     카드값
T = int(input())                         # 1~50
for tc in range(1,T+1):
    N = int(input())                     # 5~100
    Ai = [int(num) for num in input()]   # a[0] = 4,a[1]= 9, a[2]=6 ... a[4]9 배열하나에 값넣기.
    cards =[0]*100                        # 0
    cnt =0
 
    for i in range(N):                  # 중복되는 수 카운트
        cards[Ai[i]] += 1
 
        if cards[Ai[i]] > cnt:           # 카운트가 중복되는 수 카운트보다 클경우
            cnt = cards[Ai[i]]           # 카운터에 중복 카운트 수를 넣어주고
            mcnt = Ai[i]                 # 그 수를 제일 큰수로 저장
        if cards[Ai[i]] == cnt:          # 카운드 값이 두수가 같다면?
            if Ai[i] > mcnt:             # 두개의 값을 비교하
                mcnt = Ai[i]             # 다시 큰수가 제일 큰수로 재저장
    print("#{} {} {}".format(tc , mcnt, cnt))
cs

 

728x90