[SWEA] - 4047. 영준이의 카드 카운팅

jjiani·2021년 2월 25일
0

SWEA

목록 보기
14/20
post-thumbnail

swea - 문제 링크

for tc in range(1, int(input())+1):
    card = input()
    check = []
    card_set = {'S': 13, 'D': 13, 'H': 13, 'C': 13}

    for i in range(0, len(card), 3):
        check.append(card[i:i+3])
    # 중복값 체크
    if len(check) != len(set(check)):
        print('#{} ERROR'.format(tc))
    else:
        # 딕셔너리 value 조정하기
        for i in range(0, len(card)-2, 3):
            num = card_set[card[i]] - 1
            card_set[card[i]] = num

        print('#{}'.format(tc), end=' ')
        print(*card_set.values())

🔑 카드가 4장뿐이라 dictionary를 썼다.
📢 중복값을 체크하기 위해서 3개씩 잘라서 리스트에 넣고 set함수를 쓴 뒤 비교해보면 쉽게 알 수 있다! set은 중복값을 제거하니까!
그리고 중복되지 않았다면 카드 갯수 카운팅을 해주었다. range에 step을 줘서 알파벳 단위로 끊어읽고 그 알파벳이 나왔다는것은 카드를 1장 갖고 있다는 뜻이므로 -1을 해줌!
항상 알고리즘은 풀고나서 내가 읽어보면 쉬웠는데 풀 당시엔 너무 어렵다😭😭

profile
¡Bienvenido a mi velog!🐣

0개의 댓글