Algorithm/Programmers
[그리디] 볼링공 고르기 (파이썬)
그랴
2022. 7. 16. 23:13
A, B 두 사람이 볼링을 치고 있다.
두 사람은 서로 무게가 다른 볼링공을 고르려고 한다.
같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주한다.
두 사람이 볼링공을 고르는 경우의 수를 구하는 프로그램을 작성하세요.
#개수 최대 무게
n, m = map(int, input().split())
#각 볼링공 무게
k = list(map(int, input().split()))
#두 사람이 볼링공을 고르는 경우의 수
#(단, 서로 무게가 달라야 함)
result = 0
#1번 공과 그 다음 공을 비교해보면서 무게가 다를 때만 result += 1
i = 0
j = i + 1
while i < n:
j = 1
while j < n:
if k[i] != k[i+j]:
result += 1
# print(i+1, i+j+1)
j += 1
if i+j == n: break;
i += 1
# print(i)
if i == n-1 : break;
print(result)
볼링공의 무게가 달라야 한다는 말을 못봐서... 이거 걍 조합으로 풀면 되는 거 아니야? 라고 생각했었음 ..ㅎㅎㅎ
1번 공과 그 다음 공을 비교해보면서 무게가 다를 때만 카운트를 해주고, 그 다음 2번 공과 그 다음공을 비교.. 이런 식으로 작성했다.
while 중첩문이 헷갈려서 구구단 만드는 코드를 보고 복습했다.