1. 본인 코드
n, m = map(int,input().split())
weight = list(map(int,input().split()))
weight.sort()
count = 0
# 리스트 집합화(원소의 값만 추출하기 위함)
weight_set = set(weight)
weight_value = list(weight_set)
for i in weight_value:
tempList = [j for j in weight if j > i] # 현재 i 값보다 큰 무게를 가진 공들만 추출(리스트 컴프리헨션 사용)
count += (weight.count(i) * len(tempList)) # (현재 i 개수) * (무게가 더 큰 공 개수) = 조합의 개수
print(count)
# 소요시간 : 0.00011277198791503906
2. 교재 답안
n, m = map(int, input().split())
data = list(map(int, input().split()))
# 1부터 10까지의 무게를 담을 수 있는 리스트
array = [0] * 11
for x in data:
# 각 무게에 해당하는 볼링공의 개수 카운트
array[x] += 1
result = 0
# 1부터 m까지의 각 무게에 대하여 처리
for i in range(1, m+1):
n -= array[i] # 무게가 i인 볼링공의 개수(A가 선택할 수 있는 개수) 제외
result += array[i] * n # B가 선택하는 경우의 수와 곱하기
print(result)
#소요 시간 : 6.389617919921875e-05
'Algorithm 💡 > Greedy' 카테고리의 다른 글
[백준 11399번] ATM (0) | 2023.02.06 |
---|---|
[백준 2839번] 설탕 배달 (0) | 2023.02.06 |
[이코테] 무지의 먹방 라이브 (0) | 2023.02.05 |
[이코테] 만들 수 없는 금액 (0) | 2023.02.02 |
[이코테] 큰 수의 법칙 (0) | 2023.01.29 |