정다면체
문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!
문제풀이
내가 푼 문제
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 함수 만으로 나열