[BOJ] 25631번 마트료시카 합치기 - 파이썬

YOONKEEM·2024년 4월 5일
0

BOJ

목록 보기
60/60

📒 문제

마트료시카는 속이 비어있는 인형이다. 성빈이는 NN개의 마트료시카를 가지고 있다. ii번째 마트료시카의 크기는 aia_i이고, 마트료시카 속은 모두 비어있다.

성빈이는 남아 있는 마트료시카 중에서 ii번째와 jj번째(ij)(i \neq j) 마트료시카를 고른 뒤에 ii번째 마트료시카를 jj번째 마트료시카 속에 넣을 수 있다. 단, jj번째 마트료시카의 속이 비어있어야 하고, ii번째 마트료시카보다 jj번째 마트료시카가 더 커야 한다. 합친 후에는 남아 있는 마트료시카의 개수가 한 개 줄어든다.

성빈이는 마트료시카를 최대한 합쳐서 정리하려고 한다. 성빈이가 마트료시카를 잘 합친다면 남아 있는 마트료시카의 최소 개수는 얼마일까?

입력

첫째 줄에 마트료시카의 개수 N(1N1 000)N(1 \le N \le 1\ 000)이 주어진다.

둘째 줄에 정수 a1,a2,...,aNa_1, a_2, ... , a_N이 주어진다. ai(1ai109)a_i(1 \le a_i \le 10^9)ii번째 마트료시카의 크기이다.

출력

남아있는 마트료시카의 최소 개수를 출력한다.

✏️ 풀이

n = int(input())
lst = list(map(int,input().split()))

cnt = 0
while len(lst) > 0:
    temp = set(sorted(lst))
    for t in temp:
        del lst[lst.index(t)]
    cnt += 1

print(cnt)
profile
진짜 개발자를 목표로 하며 전진하는 가짜 개발자입니다 😊

0개의 댓글