728x90
이차원 정수 배열 arr이 매개변수로 주어집니다. arr의 행의 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.
function solution(arr) {
var answer = [];
// arr의 행(row)과 열(column) 수 계산
const rowCount = arr.length;
const colCount = arr[0].length;
// 행(row)과 열(column)의 길이 차이에 따라 처리
if (rowCount > colCount) {
// 행이 더 많을 때: 열을 늘려 0으로 채움
for (let i = 0; i < rowCount; i += 1) {
const newArr = [...arr[i]];
for (let j = colCount; j < rowCount; j += 1) {
newArr.push(0); // 열을 행의 수만큼 0으로 채움
}
answer.push(newArr);
}
} else if (rowCount < colCount) {
// 열이 더 많을 때: 부족한 행을 0으로 채운 배열로 추가
for (let i = 0; i < colCount; i += 1) {
if (i < rowCount) {
answer.push(arr[i]);
} else {
const newArr = Array(colCount).fill(0); // 새로운 행을 0으로 채움
answer.push(newArr);
}
}
} else {
// 행과 열의 길이가 같을 때: 그대로 추가
answer = arr;
}
return answer;
}
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 정수부분(이중 부정은 긍정) (0) | 2024.11.26 |
---|---|
프로그래머스 - 문자열의 뒤의 n글자 (0) | 2024.01.31 |
python - extend (1) | 2023.12.27 |
프로그래머스 스쿨 - 문자열을 정수로 변환하기 (1) | 2023.12.05 |
깃허브 커밋 1주년 기념 다시 생각해보는 2023 목표 (0) | 2023.10.17 |
댓글