
😎풀이
- 소수 판별 헬퍼 함수 정의
- 대각선 검사
2-1. 우하향 대각선 요소 중 소수를 판별하여, 최댓값 갱신
2-2. 좌하향 대각선 요소 중 소수를 판별하여, 최댓값 갱신
- 탐색된 최댓값 반환
function diagonalPrime(nums: number[][]): number {
const n = nums.length
let largest = -Infinity
for(let i = 0; i < n; i++) {
const dia1 = nums[i][i]
const dia2 = nums[i][n - (i + 1)]
if(isPrime(dia1)) largest = Math.max(largest, dia1)
if(isPrime(dia2)) largest = Math.max(large st, dia2)
}
if(largest === -Infinity) return 0
return largest
};
function isPrime(num: number) {
if(num <= 1) return false
if(num <= 3) return true
if(num % 2 === 0) return false
if(num % 3 === 0) return false
for(let i = 5; i * i <= num; i += 6) {
if(num % i === 0) return false
if(num % (i + 2) === 0) return false
}
return true
}