티스토리 뷰

반응형

문제의 저작권은 SW Expert Academy에 있습니다.

숫자 카드 _ python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
= int(input())
for tc in range(1, T + 1):
    a = int(input())
    data = list(map(int, input()))
    maxV = 0
    cnt = 0
    num = [0]*10
    for i in data:
        num[i] += 1
    for j in range(len(num)):
        if maxV <= num[j]:
            maxV = num[j]
            a = j
 
    for q in data:
        if a == q:
            cnt += 1
 
    print("#%d %d %d" % (tc, a, cnt))
cs

중요한건, 개수를 계산하기 위해서  num으로 가상의 list를 만들었다. 나중에 dfs에서 visited와 연관된다.(나중에 배우자)

data의 숫자 값과 num의 index값을 같기 때문에 위의 풀이가 가능한 것이다. 기억해두자.

for i in data를 이용해서 숫자를 하나씩 검사해서 num에 넣는다.

for j in range(len(num))을 이용해서 가장 많이 들어 있는 숫자를 구하고 값을 a에 넣는다

for q in data를 이용해서 a가 몇 개있는지 검사한다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 26 27 28
29 30 31
글 보관함