• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

봉우리질문

22.12.15 07:41 작성 22.12.15 07:41 수정 조회수 276

0

 

 

안녕하세요.!!

[ 탐색 ] 봉우리 문제 질문 드립니다.

제가 적은 코드는 아래와 같습니다.

for i in range(1,n+1):
    for j in range(1,n+1):
        Max = mountain[i][j]
        for k in range(4):
            if mountain[i+dx[k]][j+dy[k]] >Max:
                break
        else:
            count+=1

 

선생님께서 적은 코드와 논리상의 차이는 없어보이는데... 출력값이 다르게 나옵니다..

제 생각에는,, 제 코드가 all이 안돼서 좀 더 많은 값이 나오는 것 같은데.. 혹시 뭐가 문제인지 봐주실 수 있을까요?

 

 

아래 코드는 선생님의 코드입니다.

for i in range(1, n+1):
    for j in range(1, n+1):
        if all(a[i][j]>a[i+dx[k]][j+dy[k]] for k in range(4)):
            cnt+=1

감사합니다.

 

답변 1

답변을 작성해보세요.

0

안녕하세요^^

if mountain[i+dx[k]][j+dy[k]] >= Max:

상하좌우 인접한 값이 현재 지점과 같은 값이 있어도 봉우리가 될 수 없습니다.