๊ธฐ๋ก๋ฐฉ

Lv.2 : ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ

Soom_1n 2023. 10. 17. 09:41

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๋‘ 2์ฐจ์› ํ–‰๋ ฌ์˜ ๊ณฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ํ–‰๋ ฌ๊ณฑ ์›๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ์•ž ํ–‰๋ ฌ์˜ ๊ฐ€๋กœ ๊ธธ์ด(์—ด์˜ ๊ธธ์ด)์™€ ๋’ท ํ–‰๋ ฌ์˜ ์„ธ๋กœ ๊ธธ์ด(ํ–‰์˜ ๊ธธ์ด)๊ฐ€ ๊ฐ™์•„์•ผ ๊ณฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๊ณ„์‚ฐ ๊ฒฐ๊ณผ ํ–‰๋ ฌ์€ ์•ž ํ–‰๋ ฌ์˜ ์„ธ๋กœ ๊ธธ์ด x ๋’ท ํ–‰๋ ฌ์˜ ๊ฐ€๋กœ ๊ธธ์ด ์ด๋‹ค.
    • ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

https://mathbang.net/562#gsc.tab=0


๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int row = arr1.length;
        int col = arr2[0].length;
        int[][] answer = new int[row][col];
        
        
        for(int r = 0; r < row; r++) {
            for(int c = 0; c < col; c++) {
                
                int sum = 0;
                for(int i = 0; i < arr1[0].length; i++) {
                    sum += arr1[r][i] * arr2[i][c];
                }
                
                answer[r][c] = sum;
                
            }
        }
        
        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ๊ฒฐ๊ณผ ํ–‰๋ ฌ์˜ ํ–‰๋ ฌ์„ row์™€ col๋กœ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.
  • row์™€ col๋งŒํผ ์ธ๋ฑ์Šค๋ฅผ ์˜ฎ๊ฒจ๊ฐ€๋ฉฐ ๊ฒฐ๊ณผ ํ–‰๋ ฌ์„ ์ฑ„์›Œ๊ฐ„๋‹ค.
    • ์•ž ํ–‰๋ ฌ arr1์€ ๊ฐ€๋กœ๋กœ, ๋’ท ํ–‰๋ ฌ arr2๋Š” ์„ธ๋กœ๋กœ ์›€์ง์ด๋ฉฐ ๊ณฑ์„ ๊ณ„์‚ฐํ•œ๋‹ค.
    • ์•ž์—์„œ ๊ตฌํ•œ row, col์ด ์•„๋‹Œ arr1์˜ ๊ฐ€๋กœ ๊ธธ์ด(๋‘ ํ–‰๋ ฌ์ด ๊ณฑ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋ ค๋ฉด ๊ฐ™์•„์•ผ ํ•˜๋Š” ๊ฐ’)๋งŒํผ ์›€์ง์ธ ๋‹ค๋Š” ๊ฒƒ์— ์œ ์˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ํ–‰๋ ฌ ๊ณฑ ์ž์ฒด์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•ด์„œ ์ˆ˜ํ•™ ์ด๋ก ์„ ๋จผ์ € ์•Œ์•„๋ด์•ผ ํ–ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์›๋ฆฌ์ธ๋ฐ ๊ณ ๋“ฑํ•™๊ต ๊ต๊ณผ ๊ณผ์ •์— ๋น ์กŒ์„๋•Œ ์กธ์—…ํ•ด์„œ ๋”ฐ๋กœ ๊ณต๋ถ€ํ•˜์ง€ ์•Š์•˜์œผ๋‹ˆ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋‹ค.
  • ๊ฒฐ๊ณผ ํ–‰๋ ฌ์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ• ๋•Œ rowํ˜น์€ col๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๋ ค๋‹ค ์ธ๋ฑ์Šค ๋ฒ—์–ด๋‚จ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.
    • ์ฝ”๋“œ ํ•ด์„ ๋งˆ์ง€๋ง‰ ์ค„์— ์žˆ๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์•ž ํ–‰๋ ฌ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ sum ๋ณ€์ˆ˜๋Š” ๋”ฑํžˆ ๋งŒ๋“ค ํ•„์š” ์—†์ด ๋ฐ”๋กœ answer์— ๋„ฃ์–ด๋„ ๋์—ˆ๋‹ค.
  • ํ•˜์–€์ƒ‰ ๋ฐฐ๊ฒฝ์œผ๋กœ ๋ฐ”๊ฟจ๋Š”๋ฐ ๋ˆˆ์ด ๋” ํŽธ์•ˆํ•ด์ ธ์„œ ๋‹น๋ถ„๊ฐ„ ์ด๋ ‡๊ฒŒ ์“ธ ์˜ˆ์ •์ด๋‹ค.

728x90