파이썬 알고리즘-5 정다면체

jiffydev·2020년 8월 19일
0

Algorithm

목록 보기
5/134
post-thumbnail
  1. 정다면체

두 개의 정 N면체와 정 M면체의 두 개의 주사위를 던져서 나올 수 있는 눈의 합 중 가장 확
률이 높은 숫자를 출력하는 프로그램을 작성하세요.

정답이 여러 개일 경우 오름차순으로 출력합니다.

▣ 입력설명
첫 번째 줄에는 자연수 N과 M이 주어집니다. N과 M은 4, 6, 8, 12, 20 중의 하나입니다.

▣ 출력설명
첫 번째 줄에 답을 출력합니다.

▣ 입력예제 1
4 6

▣ 출력예제 1
5 6 7

내 코드

N,M=map(int, input().split())

cnt=[0]*(N+M+1)

for i in range(1,N+1):
    for j in range(1,M+1):
        cnt[i+j]+=1
for k in range(len(cnt)):
    if cnt[k]==max(cnt):
        print(k, end=' ')

아무리 고민해도 답이 안나와서 힌트 보고 풀었다. 처음에는 딕셔너리로 넣어보려고 발악했는데 그냥 리스트만 써도 가능한 문제였음

풀이

n, m=map(int, input().split())
cnt=[0]*(n+m+3)
max=0
for i in range(1, n+1):
    for j in range(1, m+1):
        cnt[i+j]=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=' ')

반성점

  • 나는 똥멍청이인가보다. 좀더 넓은 시야를 갖고 생각하자
  • 이론은 알고 있으나 활용이 전혀 안됨

배운 것

  • 원소가 여러개 있는 리스트 초기화 하는 방법 lst=[0]*(개수)
profile
잘 & 열심히 살고싶은 개발자

0개의 댓글