본문 바로가기
알고리즘

[백준] 11652번: 카드 - python

by 육빔 2024. 3. 19.
728x90
반응형

 

https://www.acmicpc.net/problem/11652

 

11652번: 카드

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

www.acmicpc.net

기본적인 정렬 문제

 

for문과 if문을 잘 활용하면 만들수 있었다.

사실 hashMap으로 작성하면 더 빠르고 깔끔하게 작성할 수 있을 것 같았는데 for문 마려워서 작성했다.

 

n = int(input())

arr = []

for i in range(n):
    arr.append(int(input()))

max = -100
max_card = 0
cnt = 1

arr.sort()
for i in range(n-1):
    if arr[i] == arr[i+1]:
        cnt+=1
        if max < cnt:
            max = cnt
            max_card = arr[i]
    else:
        if max < cnt:
            max = cnt
            max_card = arr[i]
        cnt = 1
        
print(max_card)

라고 했는데 시간초과 떠서 해시맵으로 다시 작성..

 

 

n = int(input())

dic = {}

for i in range(n):
    card = int(input())
    if card in dic:
        dic[card] += 1
    else:
        dic[card] = 1

dic = sorted(dic.items(), key=lambda x: (-x[1],x[0]))
print(dic[0][0])

 

그냥 처음부터 해시맵쓸껄..

 

(lambda x,y: x + y)(10, 20) >>> 
30

lambda 햇갈려서.. 

728x90
반응형