저장을 습관화

프로그래머스 LV.0 특별한 이차원 배열 2 본문

코딩 테스트/프로그래머스 - 자바스크립트

프로그래머스 LV.0 특별한 이차원 배열 2

ctrs 2023. 9. 18. 21:09

프로그래머스 LV.0 특별한 이차원 배열 2

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 명

특별한 이차원 배열 2


2. 문제 설명

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

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


3. 제한 사항

- 1 ≤ arr의 길이 = arr의 원소의 길이 ≤ 100

- 1 ≤ arr의 원소의 원소 ≤ 1,000

- 모든 arr의 원소의 길이는 같습니다.


4. 예시

arr result
[[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


5. 기본 제공 코드

function solution(arr) {
    var answer = 0;
    return answer;
}


6. 제출한 내 답

const solution = (arr) => {
  for (i = 0; i < arr.length; i++) {
    for (j = 0; j < arr.length; j++) {
      if (arr[i][j] !== arr[j][i]) {
        return 0;
      }
    }
  }
  return 1;
};

 

6-2. VSC에 작성한 내용

const solution = (arr) => {
  for (i = 0; i < arr.length; i++) {
    for (j = 0; j < arr.length; j++) {
      if (arr[i][j] !== arr[j][i]) {
        return 0;
      }
    }
  }
  return 1;
};

// 테스트
console.log(
  solution([
    [5, 192, 33],
    [192, 72, 95],
    [33, 95, 999],
  ])
);
console.log(
  solution([
    [19, 498, 258, 587],
    [63, 93, 7, 754],
    [258, 7, 1000, 723],
    [587, 754, 723, 81],
  ])
);


7. 특이사항

없음


8. 다른 사람이 작성한 답

8-1. every 메소드

function solution(arr) {
    return arr.every((r, i) => r.every((_, j) => arr[i][j] === arr[j][i])) ? 1 : 0;
}