• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

해시로 풀어봤습니다

21.08.03 10:52 작성 조회수 111

0

import sys
#sys.stdin = open("in1.txt", "r")
N,M = map(int, input().split())

answer = []
dic = dict()
for i in range(1,N+M+1):
    dic.setdefault(i,0)

for i in range(1,N+1):
    for j in range(1,M+1):
        dic[i+j] += 1

sortedDic = sorted(dic.items(), key=lambda item: item[1], reverse=True)
maxVal = sortedDic[0][1]

for key,val in dic.items():
    if maxVal == val:
        answer.append(key)

for i in answer:
    print(i, end=' ')

안녕하세요. 자바스크립트 알고리즘 문제풀이로 알고리즘 연습을 하다가 파이썬으로 넘어왔는데요. 강의 두개다 잘 듣고있습니다!!👍👍

제 코드처럼 이 문제를 해시로 푼다면 시간복잡도나 효율성이 더 좋아질까요? 해시랑은 별로 관련이 없을까요?

감사합니다 :)

답변 1

답변을 작성해보세요.

1

안녕하세요^^

시간복잡도를 논할 만한 문제는 아닙니다. 영상의 방법도 어떻게 보면 1차원 리스트를 해쉬처럼 사용한 것입니다.