반응형
문제
1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.)
나의 풀이
초기 코드(오답)
function solution(board)
{
var answer = 0;
for(let i = 0 ; i< board.length-1;i++){
for(let j = 0 ; j< board[0].length-1;j++){
let min = Math.min(board[i][j],board[i+1][j],board[i][j+1])
if (min > 0){
board[i+1][j+1] = min+1
}
}
if (answer < Math.max(...board[i+1])){
answer =Math.max(...board[i+1])
}
}
return Math.pow(answer,2);
}
수정(정답)
function solution(board)
{
var answer = 0;
if (board.length < 2 || board[0].length < 2) return 1;
for(let i = 0 ; i< board.length-1;i++){
for(let j = 0 ; j< board[0].length-1;j++){
let min = Math.min(board[i][j],board[i+1][j],board[i][j+1])
if (min > 0 && board[i+1][j+1] > 0){
board[i+1][j+1] = min+1
}
}
if (answer < Math.max(...board[i+1])){
answer =Math.max(...board[i+1])
}
}
return Math.pow(answer,2);
}
자기 자신도 1 이상 이여야된다는걸 빼먹어버렷다.
그리고 길이가 1이면 정사각형이 1이 되므로 따로 쳐리해 주었다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] level2. 예상 대진표 (javascript) (0) | 2021.05.10 |
---|---|
[프로그래머스] level2. 최솟값 만들기 (javascript) (0) | 2021.05.10 |
[프로그래머스] level2. 쿼드압축 후 개수 세기 (javascript) (0) | 2021.05.10 |
[프로그래머스] level2. 카펫 (javascript) (0) | 2021.05.10 |
[프로그래머스] level2. 짝지어 제거하기(javascript) (0) | 2021.05.10 |