1203 알고리즘 문제풀이
알고리즘 문제풀이
N*N
의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가장 큰 합을 출력합니다.
function solution(arr){
let answer = Number.MIN_SAFE_INTEGER;
let row = 0 // 행
let col = 0 // 열
let n = arr.length
for(let i=0; i < n; i++){
col = row = 0
for(let j=0; j < n; j++){
col += arr[i][j]
row += arr[j][i]
}
answer = Math.max(col,row,answer)
}
//대각선의 합
let sum1 =0
let sum2 =0
for(let i=0;i<n;i++){
sum1 += arr[i][i]
sum2 += arr[i][n-1-i]
}
answer = Math.max(answer,sum1,sum2)
return answer
}
행과 열의 합을 각각 구하고, 대각선의 합까지 구한후에 셋의합중 가장 큰 합을 Math.max 메서드를 이용해서 구해주면 된다. 수도코드를 요즘 꼼꼼하게 안썼더니 당황만 하게되는 것같다. 더 꼼꼼하게 쓰도록 하자.
그 외
parseInt랑 isNaN 메서드는 숫자가아니라 '1','3'이럴때도 숫자처럼 메서드를 사용할 수 있다
isNaN(1) //false
isNaN('1') //false
parseInt(0.02) //0
parseInt("0.02") //0
Author And Source
이 문제에 관하여(1203 알고리즘 문제풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@syc765/1203-DOCKER저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)