두 개의 정 N면체와 정 M면체의 두 개의 주사위를 던져서 나올 수 있는 눈의 합 중 가장 확
률이 높은 숫자를 출력하는 프로그램을 작성하세요.
정답이 여러 개일 경우 오름차순으로 출력합니다.
▣ 입력설명
첫 번째 줄에는 자연수 N과 M이 주어집니다. N과 M은 4, 6, 8, 12, 20 중의 하나입니다.
▣ 출력설명
첫 번째 줄에 답을 출력합니다.
▣ 입력예제 1
4 6
▣ 출력예제 1
5 6 7
import sys
sys.stdin=open('input.txt', 'rt')
n, m = map(int, input().split())
frequently_appear=0
sums=[]
highest=set([])
for i in range(1,n+1) :
for j in range(1,m+1) :
a=i+j
sums.append(a)
for x in sums :
if frequently_appear < sums.count(x):
frequently_appear= sums.count(x)
for x in sums :
if sums.count(x) == frequently_appear :
highest.add(x)
for i in highest :
print(i, end=' ')
이렇게 생각해서 개수를 갱신시켜주는 방식으로 접근
n,m = map(int, input().split())
cnt=[0]*(n+m+1)
max=0
for i in range(1,n+1) :
for j in range(1,m+1)
cnt[i+j]+=1 # 박스 번호의 개수
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=' ')
(ex) lst=[0]*3 = [0, 0, 0]