이차원 정수 배열 arr이 매개변수로 주어집니다. arr의 행의 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.
class Solution {
public int[][] solution(int[][] arr) {
int a= 0; //맞춰야 되는 길이
//행의 수가 더 많을때
if(arr.length > arr[0].length){
a=arr.length;
int[][] answer= new int[a][a];
for(int i=0;i<a;i++){
for(int j=0;j<arr[0].length;j++){
answer[i][j]=arr[i][j];
}
}
return answer;
}
//열의 수가 더 많을 때
else if(arr.length < arr[0].length){
a=arr[0].length;
int[][] answer =new int[a][a];
for(int i=0;i<arr.length;i++){
for(int j=0;j<a;j++){
answer[i][j]=arr[i][j];
}
}
return answer;
}else {
int[][] answer= arr;
return answer;
}
}
}
뭔가 다른 사람의 풀이를 보니 쓸데없이 if 문을 쓴거 같다 ㅎ...
담에는 더 코드를 줄여볼수있게 해봐야겠다.
'자바 알고리즘 문제' 카테고리의 다른 글
| 문자열 겹쳐쓰기 (0) | 2024.03.21 |
|---|---|
| 그림 확대 (0) | 2024.03.19 |
| 무작위로 K개 의 수 뽑기 ( 못 풀었음 ) (1) | 2024.03.15 |
| 수열과 구간 쿼리2 (0) | 2024.03.12 |
| 삼각형의 완성조건 (2) (0) | 2024.03.11 |