문제
두 개의 정 N면체와 정 M면체의 두 개의 주사위를 던져서 나올 수 있는 눈의 합 중 가장 확률이 높은 숫자를 출력하는 프로그램을 작성하세요.
정답이 여러 개일 경우 오름차순으로 출력합니다.
입력
첫 번째 줄에는 자연수 N과 M이 주어집니다. N과 M은 4, 6, 8, 12, 20 중의 하나입니다.
4 6 |
출력
첫 번째 줄에 답을 출력합니다.
5 6 7 |
답
N, M = map(int, input().split())
d = {}
for i in range(1, N + 1):
for j in range(1, M + 1):
if i + j in d.keys():
d[i + j] += 1
else:
d[i + j] = 1
max = 0
li = []
for i in d.items():
if i[1] > max:
li = []
li.append(i[0])
max = i[1]
elif i[1] == max:
li.append(i[0])
for i in li:
print(i, end=" ")
N, M = map(int, input().split())
cnt = [0] * (N + M + 3)
for i in range(1, N + 1):
for j in range(1, M + 1):
cnt[i + j] = cnt[i + j] + 1
max = cnt[0]
for i in cnt:
if i > max:
max = i
for i in range(N + M + 1):
if cnt[i] > max:
max = cnt[i]
for i in range(N + M + 1):
if cnt[i] == max:
print(i, end=" ")
'Python > 알고리즘' 카테고리의 다른 글
[Python/알고리즘] 소수(에라토스테네스 체) (0) | 2022.10.22 |
---|---|
[Python/알고리즘] 자릿수의 합 (0) | 2022.10.22 |
[Python/알고리즘] 대표값 (0) | 2022.10.21 |
[Python/알고리즘] K번째 큰 수 (0) | 2022.10.21 |
[Python/알고리즘] K번째 수 (0) | 2022.10.21 |
댓글