Post

특별한 이차원 배열 2

https://school.programmers.co.kr/learn/courses/30/lessons/181831

📔 문제 설명

n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.

  • 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i]

💡 입출력 예

arrresult
[[5, 192, 33], [192, 72, 95], [33, 95, 999]]1
[[19, 498, 258, 587], [63, 93, 7, 754], [258, 7, 1000, 723], [587, 754, 723, 81]]0

💻내가 작성한 코드

1
2
3
4
5
6
7
8
9
10
function solution(arr) {
  var answer = 1;
  for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr.length; j++) {
      if (answer === 0) return 0;
      answer = arr[i][j] === arr[j][i] ? 1 : 0;
    }
  }
  return answer;
}

💻다른 사람 코드

every() : 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 여부 확인 (boolean값 반환)

1
2
3
4
5
function solution(arr) {
  return arr.every((r, i) => r.every((_, j) => arr[i][j] === arr[j][i]))
    ? 1
    : 0;
}
This post is licensed under CC BY 4.0 by the author.