[이코테] 그리디_볼링공 고르기 복습(9.3)

EunBi Na·2022년 9월 3일
0

문제

두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다.
볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다.
볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다.

(1번, 2번), (1번, 3번), (1번, 4번), (1번, 5번), (2번, 3번), (2번, 5번), (3번, 4번), (4번, 5번)

결과적으로 두 사람이 공을 고르는 경우의 수는 8가지입니다. N개의 공의 무게가 각각 주어질 때,
두 사람이 볼링공을 고르는 경우의 수를 구하는 프로그램을 작성하세요.

입력 조건

첫째 줄에 볼링공의 개수 N, 공의 최대 무게 M이 공백으로 구분되어 각각 자연수 형태로 주어집니다. (1 ≤ N ≤ 1,000, 1 ≤ M ≤ 10)
둘째 줄에 각 볼링공의 무게 K가 공백으로 구분되어 순서대로 자연수 형태로 주어집니다. (1 ≤ K ≤ M)

문제풀이

아이디어) 조합풀이

from itertools import combinations
from itertools import combinations

n, m = map(int, input().split())
weights = list(map(int, input().split()))

w = list(combinations(weights, 2))

count = len(w)
for i in w:
	# 두 공의 무게가 같으면
	if i[0] == i[1]:
    	count -= 1

print(count)
profile
This is a velog that freely records the process I learn.

0개의 댓글