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

ㅇㄷㅇ님의 프로필 이미지
ㅇㄷㅇ

작성한 질문수

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

10. 봉우리

봉우리 문제 정답인 것 같은데 뭐가 문제인지 잘 모르겠습니다..

해결된 질문

작성

·

406

1

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Main t = new Main();
		Scanner kb = new Scanner(System.in);
		int n = kb.nextInt();
		int[][] arr = new int[n][n];
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < n; j++) {
				arr[i][j] = kb.nextInt();
			}
		}
		System.out.println(t.solution(n, arr));

	}

	public int solution(int n, int[][] arr) {
		int answer = 0;
		boolean isTop;
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				isTop = true;
				int center = arr[i][j];
				if (i != 0)	//상
					if (arr[i - 1][j] > center)
						isTop = false;
				if (i != n - 1) //하
					if (arr[i + 1][j] > center)
						isTop = false;
				if (j != 0)	//좌
					if (arr[i][j - 1] > center)
						isTop = false;
				if (j != n - 1) //우
					if (arr[i][j + 1] > center)
						isTop = false;
				if (isTop)
					answer++;
			}
		}
		return answer;
	}

}

정답은 잘 나오는 것 같은데.. 채점받으면 오답이라 나옵니다.. 무엇이 문제일까요? ㅠ

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

상하좌우 인접한 격자의 값이 center보다 크거나 같으면 center는 봉우리가 될 수 없습니다.

ㅇㄷㅇ님의 프로필 이미지
ㅇㄷㅇ
질문자

정말 감사합니다!! 이렇게 쉬운 부분을 놓치다니 아쉽기도 하고 혼자서는 몰랐을 거 같습니다 ㅠㅠ

ㅇㄷㅇ님의 프로필 이미지
ㅇㄷㅇ

작성한 질문수

질문하기