강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

bj2525님의 프로필 이미지
bj2525

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

7. 봉우리

질문이 있습니다!

작성

·

246

0

if(nx >= 0 && ny >= 0 && nx<n && ny<n && arr[nx][ny] < arr[i][j]) {

          count += 1;

        }

arr[i][j]의 값이 더 클 때만 count +=1 해도 상관없는거 아닌가요?!

꼭 flag가 있어야 하는건가요?????

퀴즈

배열을 순회하며 이전에 나온 모든 수보다 큰 수들의 개수를 효율적으로 세는 방법은 무엇일까요?

배열을 정렬한 후 앞에서부터 순서대로 센다.

현재까지 나타난 수들 중 최대값을 기록하며 순회한다.

각 수를 배열의 모든 다른 수와 비교하여 개수를 센다.

배열의 첫 번째 수만 확인하여 결정한다.

답변 1

0

저도 이렇게 생각해서 오답을 냈었어요.

콘솔로그 쳐보니, 중복적으로 값이 들어가네요.

예를 들면 arr[0][4]가 봉우리인지 확인할 때, 비교하는 값들(nx , ny) 중, if문에 참으로 속하는 것들을 다 카운트해버려요. arr[1][4] 과 arr[0][3] 각각 반복문으로 돌며 비교하기 때문에 카운트가 2번 됩니다.   

bj2525님의 프로필 이미지
bj2525

작성한 질문수

질문하기