Post
4047. 영준이의 카드 카운팅 (SWEA) | Gihun Son

4047. 영준이의 카드 카운팅 (SWEA)

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.

출처:

SW Expert Academy

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
T = int(input())
 
for test_case in range(1, T + 1):
    C_list=input()
    C_dict={'S':[],'D':[],'H':[],'C':[]}
    ans_dict={'S':13,'D':13,'H':13,'C':13}
    for i in range(0,len(C_list),3):
        C=C_list[i]
        num=int(C_list[i+1:i+3])
        if num not in C_dict[C]:
            ans_dict[C]-=1
            C_dict[C].append(num)
        else:
            print(f'#{test_case} ERROR')
            break
    else:
        print(f'#{test_case} ',end='')
        for c in ['S','D','H','C']:
            print(ans_dict[c],end=' ')
        print('')
  • dictionary형태로 들어오는 카드 정보를 저장하고, 만약 중복된다면 ERROR를 출력하도록 코드를 작성했다.
This post is licensed under CC BY 4.0 by the author.