Study with me/프로그래머스 L0 마스터하기
프로그래머스 - L0 특별한이차원배열2
외계나무
2024. 1. 4. 09:51
처음엔 이렇게 풀었는데,
class Solution {
public int solution(int[][] arr) {
int k = 0;
for(int i=0; i<arr.length; i++) {
for( int j=arr.length-1; j>=0; j--) {
if(arr[i][j] == arr[j][i])
k++;
}
}
return k == arr.length*arr.length ? 1 : 0;
}
}
생각해보니, 굳이 변수를 할당해서 다 셀 필요 없이 그냥 조건에 한 번이라도 어긋나면 바로 반환해버리는 게 메모리와 시간을 효율적으로 쓰는 방법이라는 것을 깨달았다. (재사용하기 좋은 코드는 아니지만, 코테의 포인트는 복잡도니까.)
class Solution {
public int solution(int[][] arr) {
for(int i=0; i<arr.length; i++) {
for( int j=arr.length-1; j>=0; j--) {
if(arr[i][j] != arr[j][i])
return 0;
}
}
return 1;
}
}