반응형
코딩 테스트 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의 합을 찾아 출력한다.
반응형
'챌린지 > 코딩 테스트 30일 챌린지' 카테고리의 다른 글
[코딩 테스트 30일 챌린지] : 07 (0) | 2022.06.18 |
---|---|
[코딩 테스트 30일 챌린지] : 06 (0) | 2022.06.17 |
[코딩 테스트 30일 챌린지] : 04 (0) | 2022.06.15 |
[코딩 테스트 30일 챌린지] : 03 (0) | 2022.06.14 |
[코딩 테스트 30일 챌린지] : 02 (0) | 2022.06.13 |
댓글