[알각코] 인프런 2-5 정다면체

정다면체

문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!

문제풀이

내가 푼 문제

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

# 1 ~ N
# 1 ~ M
# 2 ~ N + M

tmp = {}
sco = 0
scoList = []
for m in range(M):
  for n in range(N):
    if (tmp[m+n]):
      tmp[m+n] += 1
      if (sco < tmp[m+n])
      sco = tmp[m+n]
    else:
      tmp[m+n] = 1

중복된 값 나열에서 스탑..

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= ' ')

처음부터 경우의 수로 리스트를 만들어놓고 리스트로 활용(딕셔너리 사용 X)

최댓값을 미리 지정후 리스트 돌면서 바꾸고, 한번 더 돌면서 max 값 비교 후 print 함수 만으로 나열