-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
그냥 혼자 풀었는데 다른 답안을 보니 정말 심플하게 풀엇네요!
21.08.19 18:39 작성 조회수 156
0
최솟값 강의를 안듣고 풀엇엇는데 제 답을보니 정말 무식하게 풀엇다는 생각이 드네요 ㅠ
두 숫자의 합을 인덱스로 사용하는걸 생각도 못햇네요. 앞으로는 규칙성 찾는것에 시간을 좀더 투자해야겟어요.
import sys
#sys.stdin=open("input.txt","rt")
N,M=map(int,input().split())
boxn=[]
for i in range(N):
boxn.append(i+1)
boxm=[]
for i in range(M):
boxm.append(i+1)
sum_box=[]
sum_set=set()
for i in range(N):
for j in range(M):
sum_box.append(boxn[i]+boxm[j])
sum_set.add(boxn[i]+boxm[j])
sum_list=list(sum_set)
count_num=[]
for x in range(len(sum_set)):
count_num.append(sum_box.count(sum_list[x]))
for x in range(len(sum_list)):
sum_list[x]=(sum_list[x],count_num[x])
sum_list.sort(key=lambda x: (-x[1], x[0]))
final_num=[]
final_num.append(sum_list[0][0])
for x in range(len(sum_list)-1):
if sum_list[0][1]==sum_list[x+1][1]:
final_num.append(sum_list[x+1][0])
for i in range(len(final_num)):
print(final_num[i], end=' ')
답변을 작성해보세요.
0
답변 1