Codegym University ๊ณผ์ ์ ์ผ๋ถ๋ก ๋ฉํ ์ ํจ๊ปํ๋ ๊ฐ์ ์ค๋ํซ. ์ ์ฒด ๊ณผ์ ์ ๋ฑ๋กํ์ญ์์ค.
"์๋ ํ์ธ์, ์๋ฏธ๊ณ !"
"์๋ , ๋ฆฌ์!"
"๋น์ ์ ์ด๋ฏธ ๋ฐฐ์ด์ ๋ํด ํ๋ ๊ฐ์ง ์๊ณ ์๊ณ ์ผ๋ถ ์์ ์ ํด๊ฒฐํ๊ธฐ๊น์ง ํ์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ ๊ฒ์ ์์ง๋ ๋ชปํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ๊ธฐ ๋ฐฐ์ด์ ๋ํ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์ฌ์ค์ด ์์ต๋๋ค. ๋ฐฐ์ด์ 1์ฐจ์(์ ํ)์ผ ๋ฟ๋ง ์๋๋ผ ). 2์ฐจ์์ผ ์๋ ์์ต๋๋ค."
"์... ๊ทธ๊ฒ ๋ฌด์จ ๋ป์ด์ฃ ?"
"์ด๋ ๋ฐฐ์ด์ ์ ์ด ์ด(๋๋ ํ)๋ฟ๋ง ์๋๋ผ ์ง์ฌ๊ฐํ ํ ์ด๋ธ๋ ๋ํ๋ผ ์ ์์์ ์๋ฏธํฉ๋๋ค.
int[][]name = new int[width][height];
"์ฌ๊ธฐ์ name ์ ๋ฐฐ์ด ๋ณ์์ ์ด๋ฆ์ด๊ณ width ๋ ํ ์ด๋ธ ๋๋น(์ )์ด๊ณ height ๋ ํ ์ด๋ธ ๋์ด์ ๋๋ค. ์๋ฅผ ์ดํด๋ณด์ญ์์ค.
|
2์ด๊ณผ 5ํ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์ (1,1)์ 5๋ฅผ ์๋๋ค. |
"๋ฉ๋ชจ๋ฆฌ์ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
"๊ทธ๋ฐ๋ฐ 2์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๋น ๋ฅธ ์ด๊ธฐํ๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
// Lengths of months of the year in each quarter
int[][] months = { {31, 28, 31}, {30, 31, 30}, {31, 31, 30}, {31, 30, 31} };
"ํ ... ์ด์ ํฅ๋ฏธ๋กญ๋ค์. ์ฒซ ๋ฒ์งธ ๋ด๋ถ ๊ดํธ๊ฐ ํ๋์ ์์๋ฅผ ๋ํ๋ธ๋ค๊ณ ์์ํ๋ฉด ๋ค์ ์์๋ ๋ ๋ฒ์งธ ์์์ ๋๋ค... ๊ทธ๋ผ 2์ฐจ์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๊ฑด๊ฐ์?"
"์ ๋ง ๋๋ํ ํ์์ด๊ตฐ์! ๋ง์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์์๋ 1์ฐจ์ ๋ฐฐ์ด {31, 28, 31}
์ด๊ณ ๋ ๋ฒ์งธ ์์ {30, 31, 30}
๋ ์
๋๋ค. ํ์ง๋ง ์ด ๋จ์์ ๋ท๋ถ๋ถ์์ ๋ค์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๊ทธ๋๊น์ง ์๊ฐํด๋ณด์ธ์. ๊ฐ ๊ต์ฐจ์ ์์ ์
์ ํ์ฑํ๋ ํ๊ณผ ์ด์ด ์๋ ํ
์ด๋ธ๋ก์์ 2์ฐจ์ ๋ฐฐ์ด.
"๊ทธ๊ฒ์ ๋ํ ๋ง์์์ ๊ทธ๋ฆผ์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ, ์ด 2์ฐจ์ ๋ฐฐ์ด์ ๋ฌด์์ ์ฌ์ฉ๋ฉ๋๊น?"
"ํ๋ก๊ทธ๋๋จธ๋ 2์ฐจ์ ๋ฐฐ์ด์ด ๋งค์ฐ ์์ฃผ ํ์ํฉ๋๋ค. ์์ธํ ๋ณด๋ฉด ์ฒด์ค, ์ฒด์ปค, ํฑํํ , ํด์ ๋ฑ ๊ฑฐ์ ๋ชจ๋ ๋ณด๋ ๊ฒ์์ด ๊ธฐ์ฑํ 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค."
"์์๋ค! ์ฒด์ค๋ ํด์ ์ ๊ฒฝ๊ธฐ์ฅ์ 2์ฐจ์ ๋ฐฐ์ด์ ์๋ฒฝํ๊ฒ ๋ค์ด๋ง๋๋ค!"
"์, ํ์ง๋ง ์ ์ขํ๋ก ์ซ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. 'pawn e2-e4'๊ฐ ์๋๋ผ 'pawn (5,2) -> (5,4)'์ ๋๋ค. ํ๋ก๊ทธ๋๋จธ๋ก์ ํจ์ฌ ๋ ์ฌ์ธ ๊ฒ์ ๋๋ค. "
๋ฐฐ์ด ์์ ๋ฐฐ์ด: (x, y) ๋๋ (y, x)
"2์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ๋ฉด ํฅ๋ฏธ๋ก์ด ๋๋ ๋ง๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์ฑํ ๋ '2 ํ 5 ์ดnew int [2][5];
' ํ
์ด๋ธ์ด ์์ต๋๊น ์๋๋ฉด '2์ด 5ํ' ํ
์ด๋ธ์
๋๊น?"
"์ฆ, ๋๋น๋ฅผ ๋จผ์ ์ง์ ํ ๋ค์ '๋์ด'๋ฅผ ์ง์ ํ๋์ง... ์๋๋ฉด ๊ทธ ๋ฐ๋๋ก ๋จผ์ ๋์ด๋ฅผ ์ง์ ํ ๋ค์ ๋๋น๋ฅผ ์ง์ ํ๋์ง ์์ ํ ๋ช ํํ์ง ์์ต๋๋ค."
"๊ทธ๋, ์ด๊ฒ ๋๋ ๋ง์ผ. ๊ทธ๋ฆฌ๊ณ ์ ํด์ง ๋ต์ ์์ด."
"์ด๋กํด?"
"์ฒซ์งธ, 2์ฐจ์ ๋ฐฐ์ด์ด ์ค์ ๋ก ์ด๋ป๊ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋์ง ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค . ๋น์ฐํ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์๋ ์ค์ ๋ก ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ์์น์๋ 0, 1, 2, ... ์ฐ๋ฆฌ์๊ฒ ์ด๊ฒ์ 2 ร 5 ํ ์ด๋ธ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์์๋ 10๊ฐ์ ์ ์ ๋ถ๊ณผํฉ๋๋ค. ํ๊ณผ ์ด๋ก ๊ตฌ๋ถ๋์ง ์์ต๋๋ค."
"๊ทธ๊ฑด ์ดํดํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋๋น์ ๋์ด ์ค ์ด๋ค ์น์๊ฐ ๋จผ์ ์ค๋์ง ์ด๋ป๊ฒ ๊ฒฐ์ ํฉ๋๊น?"
"์ฒซ ๋ฒ์งธ ์ต์ ์ ๊ณ ๋ คํด ๋ด ์๋ค. ํญ์ด ๋จผ์ ์ด๊ณ ๋์ด๊ฐ ๊ทธ ๋ค์ ์ ๋๋ค. "์ด ์ ๊ทผ ๋ฐฉ์์ ์ ํธํ๋ ์ฃผ์ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ด ํ๊ต์์ ์ํ์ ๋ฐฐ์ฐ๊ณ ์ขํ ์์ด 'x'(์ฆ, ๊ฐ๋ก ์ถ) ๊ทธ๋ฐ ๋ค์ 'y'(์์ง ์น์). ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋จ์ง ํ๊ต ํ์ค์ด ์๋๋ผ ์ํ์์ ์ผ๋ฐ์ ์ผ๋ก ์ธ์ ๋๋ ํ์ค์ ๋๋ค. ๊ทธ๋ค์ด ๋งํ๋ฏ์ด, ๋น์ ์ ์ํ์ผ๋ก ๋ ผ์ํ ์ ์๋ค."
"๊ทธ๋ด๊น์? ๋ญ, ์ธ์ธ ์ ์๋ค๋ฉด ํญ์ด ๋จผ์ ๊ณ ๋์ด๊ฐ ๊ทธ ๋ค์์ด๊ฒ ์ฃ ?"
" 'height first, then width'๋ฅผ ์ ํธํ๋ ํฅ๋ฏธ๋ก์ด ์ฃผ์ฅ์ด ์์ต๋๋ค . ์ด ์ฃผ์ฅ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋น ๋ฅธ ์ด๊ธฐํ์์ ๋น๋กฏ๋ฉ๋๋ค. ๊ฒฐ๊ตญ ๋ฐฐ์ด์ ์ด๊ธฐํํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค."
// Matrix of important data
int[][] matrix = { {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5} };
"๊ทธ๋์ ๊ทธ๊ฒ ์ฐ๋ฆฌ์๊ฒ ๋ฌด์จ ๋์์ด ๋ฉ๋๊น?"
"๋ญ๊ฐ ์์์ฐจ๋ ธ์ด? ์ด๊ฒ ์์ผ๋ฉด ์ด๋กํด?
// Matrix of important data
int[][] matrix = {
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5}
};
"์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ํ ์ค์ฉ ์ฐ๋ฉด 2ํ 5์ด์ ํ ์ด๋ธ์ด ์์ฑ๋ฉ๋๋ค."
"์ด์ ์๊ฒ ์ต๋๋ค. 2๋ ๋์ด์ด๊ณ 5๋ ๋๋น์ ๋๋ค... ๊ทธ๋ผ ์ด๋ค ์ต์ ์ ์ฌ์ฉํด์ผ ํ ๊น์?"
"์ด๋ค ๊ฒ์ด ๋ ํธ๋ฆฌํ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ ๋น์ ์๊ฒ ๋ฌ๋ ค ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์์ ํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ์ ์ ๊ทผ ๋ฐฉ์์ ๊ณ ์ํ๋ค๋ ๊ฒ์ ๋๋ค."
"์ฝ๋์ ์ด๊ธฐํ๋ 2์ฐจ์ ๋ฐฐ์ด์ด ๋ง์ ํ๋ก์ ํธ์์ ์์ ํ๋ ๊ฒฝ์ฐ ๊ฑฐ๊ธฐ์ ์๋ ๋ชจ๋ ๊ฒ์ด ๋น ๋ฅธ ๋ฐ์ดํฐ ์ด๊ธฐํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ฆ, ํ์ค '๋์ด x ๋๋น'๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
"๋ง์ฝ ๋น์ ์ด ๋ง์ ์ํ์ ํฌํจํ๊ณ ์ขํ๋ก ์์ ํ๋ ํ๋ก์ ํธ(์: ๊ฒ์ ์์ง)์์ ์์ ์ ๋ฐ๊ฒฌํ๋ค๋ฉด ์ฝ๋๋ '๋๋น x ๋์ด' ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
2์ฐจ์ ๋ฐฐ์ด ๋ฐฐ์ด ๋ฐฉ๋ฒ
"์, ์์ ์ด๋ฐ์ ์์์ฐจ๋ ธ๋ 2์ฐจ์ ๋ฐฐ์ด์ ํน์ง์ ๊ธฐ์ตํ์๋์?"
"์! 2์ฐจ์ ๋ฐฐ์ด์ ์ค์ ๋ก ๋ฐฐ์ด์ ๋ฐฐ์ด์ด์์ต๋๋ค!"
"๋ง์์." ์ฆ, ์ผ๋ฐ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๋ฐฐ์ด ๋ณ์๊ฐ ๋ฐฐ์ด ์์๋ฅผ ์ ์ฅํ๋ ์ปจํ ์ด๋์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ฉด 2์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ์ํฉ์ด ์ฝ๊ฐ ํญ๋ฐํฉ๋๋ค. -array ๋ณ์๋ 1์ฐจ์ ๋ฐฐ์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ์ปจํ ์ด๋์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ฐฑ ๋ฒ ์ค๋ช ํ๋ ๊ฒ๋ณด๋ค ํ ๋ฒ ์ง์ ํด๋ณด๋ ๊ฒ ๋ซ๋ค."
"์ผ์ชฝ์๋ 2 ์ฐจ์ ๋ฐฐ์ด ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ 2์ฐจ์ ๋ฐฐ์ด ๋ณ์๊ฐ ์์ต๋๋ค. ์ค๊ฐ์๋ ์ ์ด 1์ฐจ์ ๋ฐฐ์ด์ ์ ์ฅํ๋ 2์ฐจ์ ๋ฐฐ์ด ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. 2์ฐจ์ ๋ฐฐ์ด์ ํ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ฅธ์ชฝ์๋ 2 ์ฐจ์ ๋ฐฐ์ด์ ํ์ธ 4๊ฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ๋ณผ ์ ์์ต๋๋ค. ์ด๊ฒ์ด 2์ฐจ์ ๋ฐฐ์ด์ด ์ค์ ๋ก ์๋ํ๋ ๋ฐฉ์์ ๋๋ค."
"ํ์์ ์ด์ผ! ํ์ง๋ง ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ์ฃผ๋ ๊ฒ์ ๋ฌด์์ธ๊ฐ?"
"'์ปจํ ์ด๋์ ์ปจํ ์ด๋'๋ 'ํ์ ๋ฐฐ์ด'์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ฏ๋ก ๋งค์ฐ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํ์ ๊ตํํ ์ ์์ต๋๋ค. '์ปจํ ์ด๋์ ์ปจํ ์ด๋'๋ฅผ ์ป์ผ๋ ค๋ฉด ๋ ๊ฐ๊ฐ ์๋ ํ๋์ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์:
int[][] data = new int[2][5];
int[] row1 = data[0];
int[] row2 = data[1];
"์๋ ์ฝ๋๋ฅผ ๋ณด์ธ์. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค."
|
2์ฐจ์ ๋ฐฐ์ด์ matrix[0] ์ฒซ ๋ฒ์งธ ํ์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ฐธ์กฐ๋ฅผ ๊ตํํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก matrix ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
|
"์๊ฒ ์ต๋๋ค. ์ผ๋ฐ ์์ดํ ๋ ๊ฐ๋ฅผ ๋ฐ๊พธ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค."
"๊ทธ๋ ์ต๋๋ค. ์, 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ ์ฐธ์กฐํ์ง๋ง ๋ฐฐ์ด ์ด๋ฆ ๋ค์ ํ๋์ ์ธ๋ฑ์ค๋ง ์ง์ ํ๋ค๋ฉด ์ ์ด ์ผ๋ฐ 1-์ฐจ์์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ์ปจํ ์ด๋ ์ปจํ ์ด๋๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์ ๋๋ค. ์ฐจ์ ๋ฐฐ์ด."
"๋ชจ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ด๊ณ ๋ช ํํด ๋ณด์ ๋๋ค. ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค, Rishi!"
"์ฒ๋ง์์. ํ๋ช ํ๊ฒ ์ค์ฒํ์ธ์."
GO TO FULL VERSION