• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

궁금한 점이 있습니다.

20.06.27 01:33 작성 조회수 129

0

처음에 제가 생각했던 로직은 for문을 2중으로 돌린  다음,

미리 생성한 리스트에 요소들을 전부 집어넣고

그 다음 각 요소들의 개수들을 출력해 가장 큰 값만 뽑아내려고 했습니다.

다만 제가 for문을 2중으로 돌린 후,

미리 생성한 리스트에 append함수를 써서 넣는 것까지는 성공을 했는데,

그 다음부터는 어떻게 구현해야 할지 몰라서 헤매게 되었습니다...

로직에 뭔가 문제가 있는 것 같아 강사님의 해법을 보니

이런 방식으로도 코드를 짤 수 있다는 걸 배웠습니다.

제가 생각했던 로직은 잘못된 건 아니지만 구현하기 조금 까다로울까요?

아니면 잘못된 방향성을 가진 것이었을까요?

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

구현하기가 까다로울 수 있습니다만, 잘못된 방향은 아닙니다.

use_mono님 생각처럼 한 번 짜봤습니다.

import sys
#sys.stdin=open("in1.txt", "r")
n, m=map(int, input().split())
nums=[]
res=[]
for i in range(1, n+1):
    for j in range(1, m+1):
        nums.append(i+j)

nums.sort()
L=len(nums)
nums.append(float('inf'))
maxN=0
cnt=1
for i in range(L):
    if nums[i]==nums[i+1]:
        cnt+=1
    else:
        maxN=max(maxN, cnt)
        res.append((nums[i], cnt))
        cnt=1
    
for a, b in res:
    if b==maxN:
        print(a, end=' ');
        

0

use_mono님의 프로필

use_mono

질문자

2020.08.13

헉 역시 코딩은 계속 계속 해야하는 것인가 봅니다!

잘못된 방향성이 아니라고 말씀해주셔서 위로가 됩니다 ㅜㅜ

감사합니다!