-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
질문입니다!
21.10.05 18:35 작성 조회수 147
0
N,M=map(int, input().split())
ch = [0] * (N+M+1)
max = 0
for i in range(1, N+1):
for j in range(1, M+1):
ch[i+j] += 1
for i in range(N+M+1):
if ch[i] > max:
max = ch[i]
for i in range(N+M+1):
if ch[i] == max:
print(i, end=' ')
안녕하세요!
풀다가 중간에 막히는 부분이있어서 질문드립니다.
두번째 단락 for문 돌때 저는 if ch[i+j]를 max값과 비교했는데 선생님께서 cnt[i]와 max값을 비교하셨더라구요.
이미 cnt리스트가 i+j 인덱스값으로 이루어진 거고 거기서 나온 횟수만큼 +1을 다 한상태니까 Max값 비교도 cnt[i+j]로 해야되는거 아닌가요? 제가 어느부분을 놓치고 있는건지 헷갈립니다. 답변 부탁드립니다! (저는 리스트 이름을 ch라고 썼습니다 ㅎㅎ)
답변을 작성해보세요.
0
김태원
지식공유자2021.10.09
안녕하세요^^
위쪽 2중 for문의 i+j의 값은 최대 N+M까지의 숫자입니다.
두 번째 for문의 i가 N+M 숫자까지 돌면서 ch 배열의 값들을 확인하고 있는 것입니다.
답변 1