MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿƒ‍โ™€๏ธprogrammers/Java

หšโ‚Šโœฉโ€งโ‚Š ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - java ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋งŒ๋“ค๊ธฐ หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2024. 5. 11. 23:04
์ฒด๊ฐ Level : โ˜…โ˜†โ˜† 
Review: ์กฐ๊ฑด๋งŒ ์ž˜ ์งœ๋ฉด ๊ฐ„๋‹จํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ !
ํ–‰,์—ด ๊ฐ’ ์กฐ์ ˆํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์› ์Œ!!
ํ•˜์ง€๋งŒ ์•„์ง๋„ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๊ฐ’์œผ๋กœ ๋ฒ”์œ„ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฒŒ ํ—ท๊ฐˆ๋ฆฐ๋‹ค

 

๐Ÿ’ก ๋ฌธ์ œ๋ฅผ ๋„์‹ํ™”ํ•ด๋ณด๋ฉด ์ด๋Ÿฐ๋Š๋‚Œ์ด๋‹ค ! x,y๊ฐ€ ๋™์ผํ•ด์ง€๋„๋ก 0 ์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•œ๋‹ค.

 

 

+ ๋™์ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์ง€์•Š๊ณ  ํ•ด๋ดค์Œ!!

 

 

์กฐ๊ฑด์„ ๋จผ์ € ๋‚˜๋ˆ ์ฃผ์ž!

 

 

1) x > y  ํ–‰์ด ๋” ํด ๋•Œ

2) x < y ์—ด์ด ๋” ํด ๋•Œ

3) x == y ํ–‰ ์—ด์ด ๊ฐ™์„ ๋•Œ 

 

๊ทธ๋‹ค์Œ

 

1) x,y ๊ฐ’์— ๋”ฐ๋ผ ๋ฐฐ์—ด ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์„œ ๋งŒ๋“ค์–ด์ค€๋‹ค.

ํฐ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋จ

answer = new int [x][x]; //๋ฐฐ์—ด ํฌ๊ธฐ

2) ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•œ๋‹ค. (+ 2์ฐจ์› ๋ฐฐ์—ด ๋ณต์‚ฌ์‹œ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ์„ ํ•˜๋ฉด ๋” ๊ฐ„ํŽธํ•˜๋‹ค.)

int[][] original = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int[][] copy = new int[original.length][original[0].length];

for (int i = 0; i < original.length; i++) {
    copy[i] = Arrays.copyOf(original[i], original[i].length);
}

 

3) 0์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

  • 1) x > y  ํ–‰์ด ๋” ํด ๋•Œ
    ํ–‰์„ ์ „์ฒด ๋Œ๋ ค๊ฐ€๋ฉด์„œ ์š”์†Œ ๋’ค์ชฝ์— 0์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•œ๋‹ค.
    ๋ฒ”์œ„๋Š”  x-(x-y)  ~ x-1

 

  • 2) x < y ์—ด์ด ๋” ํด ๋•Œ
    ํ–‰์€ ์ถ”๊ฐ€๋œ ๋ถ€๋ถ„๋งŒ ๋Œ๋ ค์ฃผ๋ฉด ๋˜๊ณ 
    ์—ด์€ ์ „์ฒด ๋Œ๋ ค๊ฐ€๋ฉด์„œ 0์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
    = > ๊ทผ๋ฐ ์‚ฌ์‹ค ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ• ๋•Œ ๋นˆ ๊ณต๊ฐ„์€ ์ž๋™์œผ๋กœ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜๊ธฐ๋•Œ๋ฌธ์— 
    ๊ตณ์ด ์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š”์—†๋‹ค. ์ƒ๋žต ๊ฐ€๋Šฅ!!
for (int i = y-(y-x); i < y; i++){  
    for (int j = 0 ; j< y; j++){
        answer[i][j] = 0;
    }
}

 

 


class Solution {
    public int[][] solution(int[][] arr) {
        int[][] answer = {};
        
        int x = arr.length; // ํ–‰๊ฐœ์ˆ˜4
        int y = arr[0].length; // ์—ด๊ฐœ์ˆ˜3
        
            if (x > y){
                answer = new int [x][x]; //๋ฐฐ์—ด ํฌ๊ธฐ
               for (int i = 0; i < arr.length; i++) { // ๋ฐฐ์—ด ๋ณต์‚ฌ 
                    for (int j = 0; j < arr[i].length; j++) {
                        answer[i][j] = arr[i][j];
                    }
                }
                for (int i = 0 ; i < x; i++){ //0์ถ”๊ฐ€
                    for (int j = x-(x-y); j < x; j++){ 
                        answer[i][j] = 0;
                    }
                }
            } else if (x < y) {
                  answer = new int [y][y];//๋ฐฐ์—ด ํฌ๊ธฐ
                    for (int i = 0; i < arr.length; i++) { // ๋ฐฐ์—ด ๋ณต์‚ฌ 
                    for (int j = 0; j < arr[i].length; j++) {
                        answer[i][j] = arr[i][j];
                    }
                }
                for (int i = y-(y-x); i < y; i++){  //0์ถ”๊ฐ€ ์ƒ๋žต๊ฐ€๋Šฅ!!!!
                    for (int j = 0 ; j< y; j++){
                        answer[i][j] = 0;
                    }
                }
            }else {
                return arr;
            }
    
        
        return answer ;
        
    }
}