diff --git a/choihyewon/src/week34/devmatching2/readme.md b/choihyewon/src/week34/devmatching2/readme.md new file mode 100644 index 00000000..74a150a7 --- /dev/null +++ b/choihyewon/src/week34/devmatching2/readme.md @@ -0,0 +1,80 @@ +## Programmers - Çà·Ä Å׵θ® ȸÀüÇϱâ +- Implementation +- Level 2 +- 2021 Dev-Matching: À¥ ¹é¿£µå °³¹ßÀÚ(»ó¹Ý±â) +-[Çà·Ä Å׵θ® ȸÀüÇϱ⠹®Á¦ ¹Ù·Î°¡±â](https://programmers.co.kr/learn/courses/30/lessons/77485) + +## Ç®ÀÌ + +¸ÕÀú rows X columns Å©±âÀÇ ¹è¿­À» ¸¸µé¾îÁÖ¾î ¼ø¼­´ë·Î Á¡Á¡ 1¾¿ Ä¿Áö´Â ¼ýÀÚ¸¦ ³Ö¾îÁÖ¾ú½À´Ï´Ù. +±×¸®°í ¹è¿­ÀÇ x1,y1¿¡ À§Ä¡ÇÑ °ªÀº tmp¿¡ ³Ö¾îÁÖ°í °¢°¢ ȸÀüÀ» ½ÃÄÑÁÖ¾ú½À´Ï´Ù. +ȸÀüÀ» Çϸ鼭 Math.minÀ» ÅëÇØ È¸ÀüÇÏ´Â ¼ö Áß ÃÖ¼Ú°ªÀ» ±¸ÇØÁÖ¾ú½À´Ï´Ù. +±×¸®°í tmp°ªÀº x1,y1+1 À§Ä¡¿¡ ³Ö¾îÁÖ¾î ȸÀüÀ» ¿Ï·áÇÏ¿´°í ¼ø¼­´ë·Î ÃÖ¼Ú°ªÀ» ±¸ÇØÁÖ¾î ´äÀ» ±¸ÇÏ¿´½À´Ï´Ù. + +## ¼Ò½ºÄÚµå +~~~java +import java.util.*; +class Solution { + public int[] solution(int rows, int columns, int[][] queries) { + int[] answer = new int[queries.length]; + int[][] arr = new int[rows+1][columns+1]; + int num = 1; + + // Çà·Ä¿¡ 1ºÎÅÍ rows x columns±îÁöÀÇ ¼ýÀÚ¸¦ ÇÑ ÁÙ¾¿ ¼ø¼­´ë·Î ³Ö´Â´Ù. + for(int i=1; i<=rows; i++){ + for(int j=1; j<=columns; j++){ + arr[i][j] = num++; + } + } + + for(int i=0; i=r1; r--){ + min = Math.min(min,arr[r][c2]); + arr[r+1][c2] = arr[r][c2]; + } + + for(int c=c2-1; c>=c1; c--){ + min = Math.min(min,arr[r1][c]); + arr[r1][c+1] = arr[r1][c]; + } + arr[r1][c1+1] = tmp; + answer[i] = min; + + } + return answer; + } +} +~~~ + +## °á°ú + +|Á¤È®¼º|Å×½ºÆ®| +|-----|-----| +|Å×½ºÆ® 1 | Åë°ú (0.03ms, 78.7MB)| +|Å×½ºÆ® 2 | Åë°ú (0.03ms, 76.1MB)| +|Å×½ºÆ® 3 | Åë°ú (11.91ms, 96.7MB)| +|Å×½ºÆ® 4 | Åë°ú (8.90ms, 84MB)| +|Å×½ºÆ® 5 | Åë°ú (15.54ms, 91.5MB)| +|Å×½ºÆ® 6 | Åë°ú (10.79ms, 98MB)| +|Å×½ºÆ® 7 | Åë°ú (14.17ms, 90.3MB)| +|Å×½ºÆ® 8 | Åë°ú (9.36ms, 90.4MB)| +|Å×½ºÆ® 9 | Åë°ú (12.33ms, 95.4MB)| +|Å×½ºÆ® 10 | Åë°ú (9.68ms, 89MB)| +|Å×½ºÆ® 11 | Åë°ú (8.85ms, 77.4MB)| \ No newline at end of file diff --git "a/choihyewon/src/week34/devmatching2/\355\226\211\353\240\254_\355\205\214\353\221\220\353\246\254_\355\232\214\354\240\204\355\225\230\352\270\260.java" "b/choihyewon/src/week34/devmatching2/\355\226\211\353\240\254_\355\205\214\353\221\220\353\246\254_\355\232\214\354\240\204\355\225\230\352\270\260.java" new file mode 100644 index 00000000..bdb15aab --- /dev/null +++ "b/choihyewon/src/week34/devmatching2/\355\226\211\353\240\254_\355\205\214\353\221\220\353\246\254_\355\232\214\354\240\204\355\225\230\352\270\260.java" @@ -0,0 +1,52 @@ +package week34.devmatching2; + +import java.util.*; + +public class Çà·Ä_Å׵θ®_ȸÀüÇϱâ { + public int[] solution(int rows, int columns, int[][] queries) { + int[] answer = new int[queries.length]; + int[][] arr = new int[rows+1][columns+1]; + int num = 1; + + // Çà·Ä¿¡ 1ºÎÅÍ rows x columns±îÁöÀÇ ¼ýÀÚ¸¦ ÇÑ ÁÙ¾¿ ¼ø¼­´ë·Î ³Ö´Â´Ù. + for(int i=1; i<=rows; i++){ + for(int j=1; j<=columns; j++){ + arr[i][j] = num++; + } + } + + for(int i=0; i=r1; r--){ + min = Math.min(min,arr[r][c2]); + arr[r+1][c2] = arr[r][c2]; + } + + for(int c=c2-1; c>=c1; c--){ + min = Math.min(min,arr[r1][c]); + arr[r1][c+1] = arr[r1][c]; + } + arr[r1][c1+1] = tmp; + answer[i] = min; + + } + return answer; + } + +}