인프런 커뮤니티 질문&답변
강사님 혹시 어디 부분에서 왜 오류가 나는지 알 수 있을까요..
작성
·
234
0
아래 처럼 작성했는데 답은 나오는데 채점해보면 오답이라고 나와서요 어디부분이 왜 오류인지 알수있을까요?ㅠ.. 아무리 찾아도 뭔가 빼먹은것같은데 모르겠네요..
package sec01;
import java.util.Scanner;
class Main {
public static int solution(int n , int[][] arr){
int count = 0;
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
boolean flag = true;
if(i-1 >= 0 && arr[i][j] < arr[i-1][j]) { // 상
flag = false;
}
if(i+1 < n && arr[i][j] < arr[i+1][j]){ //하
flag = false;
}
if( j-1 >= 0 && arr[i][j] < arr[i][j-1]){ // 좌
flag = false;
}
if(j+1 < n && arr[i][j] < arr[i][j+1]){ // 우
flag = false;
}
if(flag) {
count++;
}
}
}
return count;
}
public static void main(String[] args){
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(solution(n,arr));
}
}퀴즈
51%나 틀려요. 한번 도전해보세요!
앞에 있는 모든 학생보다 키가 커야 보이는 '보이는 학생' 문제에서, 효율적인 풀이법의 핵심 아이디어는 무엇일까요?
모든 학생의 키를 서로 비교한다.
현재까지 본 학생 중 가장 큰 키를 추적한다.
가장 큰 학생 한 명만 찾는다.
학생들의 키를 오름차순으로 정렬한다.





