코딩 테스트 및 알고리즘/이것이 취업을 위한 코딩테스트다
Q5. 볼링공 고르기
띠리링구
2022. 4. 6. 16:50
문제 내용은 인터넷에 '이코테 볼링공 고르기' 검색해서 참고
크기가 m1인 볼링공과 크기가 m2인 볼링공을 고르는 경우의 수는
m1의 개수 * m2의 개수다
from collections import Counter
N,M = map(int,input().split())
balls = list(map(int,input().split()))
counter = Counter(balls)
keys = list(counter.keys())
values = list(counter.values())
answer = 0
for i in range(len(keys)):
for j in range(i+1,len(keys)):
answer += values[i] * values[j]
print(answer)
정답지에서는 좀 더 효율적으로 풀었다
N,M = map(int,input().split())
balls = list(map(int,input().split()))
counter = [0] * 11
for weight in balls:
counter[weight] += 1
answer = 0
for i in range(1, M+1):
N -= counter[i]
answer += counter[i] * N
print(answer)
저자가 정말 똑똑하다는 생각이 든다.