챌린지/코딩 테스트 30일 챌린지
[코딩 테스트 30일 챌린지] : 05
오주현
2022. 6. 16. 23:36
반응형
코딩 테스트 30일 챌린지
푼 문제 수 : 1
문제 요약
정n면체, 정m면체 주사위를 던져 나올 수 있는 눈의 합 중 가장 높은 확률의 값을 출력
여러개인 경우 오름차순 출력
입, 출력 예제
입력 :
4 6
출력:
5 6 7
풀이
n, m = map(int, input().split())
cnt = [0]*(n+m+3)
max=-2147000000
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=' ')
n과 m의 합의 값을 담아둘 리스트를 만들고 n과 m을 더하고 3만큼 추가 크기를 준다.
max에는 최소 값을 넣어준다.(정수형 최소값)
cnt에 n과 m의 합을 인덱스로 합이 같을 때 1씩 증가한다.
최대 값을 찾기 위해 max에 누적시킨다.(가장 작았던 값에서 점점 비교해서 큰 값으로 대체해 간다.)
최대 값이 같은 게 여러개 인 경우 모두 출력을 위해 최대한 같은 n+m의 합을 찾아 출력한다.
반응형