CodingTest/Baekjoon

[baekjoon] 백준 11652번(파이썬): 카드

JunJangE 2021. 10. 9. 11:51

문제

 

11652번: 카드

준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지

www.acmicpc.net

알고리즘

- collections 모듈에 Counter 클래스를 사용하여 문제를 수행한다.

- 입력받은 숫자 카드를 오름차순으로 정렬한다.(카드의 개수가 똑같을 경우 작은 정수 값을 출력하기 때문에)

- 반복문을 통해 카드를 확인하면서 카드의 개수를 비교해준다.

코드

import sys
from collections import Counter # collections 모듈에 Counter 클래스 사용

n = int(sys.stdin.readline())
card = [int(sys.stdin.readline()) for _ in range(n)]
card.sort() # 입력받은 숫자 카드를 오름차순으로 정렬
res = Counter(card) # 카드의 개수를 확인
target = [0, 0] # 비교할 타겟 [개수, 정수]

# 반복문을 통해 카드를 확인
for i in res:
    # 타겟의 개수와 현재 카드의 개수를 비교
    if target[0] < res[i]:
        target[0] = res[i] # 타겟의 개수를 현재 카드의 개수로 초기화
        target[1] = i # 타겟의 정수도 현재 카드의 정수로 초기화

# 타겟의 정수 출력
print(target[1])

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com