๐ ๋ฌธ์
์ด์ ๋ ๋์ด๋ ๋ฌธ์ ๋ ๋ณ๋์ ํจ์ ์ ์๊ฐ ํ์ํ์ง ์์์
์ค๊ณ ๋ฌธ์์ Flow chart๋ฅผ ์๋ตํ๋ค.
๐ Key Idea
์ด๋์ ์ฐ์ ์์๊ฐ →↓ ์ด๋ค. ๋ฐ๋ผ์
2์ฐจ์ ๋ฐฐ์ด์ ๋์ฌ๋์์ ๋
โ ๏ธ ์ฃผ์! ๋ฐฐ์ด์ ์ด์ฉํ ๋ฌธ์ ์์ ํญ์ ์ฃผ์ํด์ผ ํ ๊ฒ์ ์ธ๋ฑ์ค ๋ฒ์์ด๋ค.
๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด์์ index ๋ฒ์๋ฅผ ์ ํํด ์ฃผ๋๊ฒ์ด ํ์! (โต ๋ฒ์๋ด ๋ชฉ์ ์ง๋ฅผ ์ฐพ์ง๋ชปํ๋ฉด ๋์ ๋์ด๊ฐ๊ฒ ๋จ)
์ธ๋ฑ์ค ๋ฒํธ๊ฐ 0๋ถํฐ ์์ํ๋ ๋ฐฐ์ด ํน์ฑ์ core dump (Segmentation Fault)์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๐จ๐ป๐ป ๊ตฌํ in C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
using namespace std;
int main(void)
{
int arr[11][11] = {0};
int i, j;
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j<= 10; j++)
{
cin >> arr[i][j];
}
}
i = 2, j = 2; //์ถ๋ฐ์ setting
while(arr[i][j] != 2 && i <= 10 && j <= 10) // out of index ๋ฐฉ์ง
{
if(arr[i][j+1] != 1) // ์ค๋ฅธ์ชฝ ๊ฒ์ฌ
arr[i][j++] = 9;
else if(arr[i+1][j] != 1) // ์๋์ชฝ ๊ฒ์ฌ
arr[i++][j] = 9;
else
break;
}
arr[i][j] = 9; // ๋ง์ง๋ง ๋๋ฌํ ์ง์ ์ 9๋ก ์ด๋ฏธ ๋๋ฌํ ์ํ. // ๋์ฐฉ์ setting
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j<= 10; j++)
{
cout << arr[i][j] << ' ';
}
cout << '\n';
}
return 0;
}
|
์ฃผ์์ ๋ฌ์๋์์ผ๋ ์ฐธ๊ณ '-'
๐จ๐ป๐ป ์์ค์ฝ๋ (์ฌ๊ท ๋ฒ์ )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include <iostream>
using namespace std;
int arr[11][11]; //2์ฐจ์ ๋ฐฐ์ด Parameter๋ก ๋๊ธฐ๊ธฐ ์ฑ๊ฐ์
์ ์ ์ญ๋ณ์ ์ ์ธ
void move(int rowIndex,int colIndex)// ๋ชฉ์ ์ง ๋๋ฌ๊น์ง ํ์์น 9 ์
๋ฐ์ดํธํ๋ฉฐ ๊ฒ์ฌ
{
if(arr[rowIndex][colIndex] == 2)
{
arr[rowIndex][colIndex] = 9;
return;
}
arr[rowIndex][colIndex] = 9; // ํ์์น๊ฐ 2๋ง ์๋๋ฉด 9๋ก ์
๋ฐ์ดํธ.
if(arr[rowIndex][colIndex+1] != 1)
{
move(rowIndex, ++colIndex);
}
else if(arr[rowIndex+1][colIndex] != 1)
{
move(++rowIndex, colIndex);
}
}
int main(void)
{
int i, j;
for(i = 1; i <= 10; i++)
{
for(j = 1; j <= 10; j++)
{
cin >> arr[i][j];
}
}
move(2, 2); // ์์์ (2,2)
for(i = 1; i <= 10; i++, puts(""))
{
for(j = 1; j <= 10; j++)
{
cout << arr[i][j] << ' ';
}
}
return 0;
}
|
์ฌ๊ท๋ฒ์ ์ ํจ์ ํธ์ถ์ด ๋ ๋ง๋ค.
์ ๋ต์ธ์ง ์๋์ง ์ ๊ฒ์ฌ ํ๋๊ฑฐ๋ถํฐ๊ฐ (์ ๋ต์ธ ๊ฒฝ์ฐ๋ ๋ฑ 1case, ์ ๋ต 2์ ๋๋ฌํ ์์ ๋ฐ์ ์์ผ๋ฏ๋ก)
์๊ฐ๋ณต์ก๋ ๋ํ ์ด์ ํ์ด ๋ณด๋ค๋ ์ฝ๊ฐ ๋์ ์๊ณ ๋ฆฌ์ฆ์ด ๋๋ค.
'Algorithm > Algorithm (๋ฌธ์ ํ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 11653] ์์ธ์๋ถํด (0) | 2019.11.18 |
---|---|
[๋ฐฑ์ค 1260] BFS์ DFS (0) | 2019.11.17 |
ํผ๋ณด๋์น ์์ด 2 (Memoization, Dynamic Programming ver) (0) | 2019.11.05 |
[๋ฐฑ์ค 1427] ์ํธ ์ธ์ฌ์ด๋ (0) | 2019.11.01 |
[๋ฐฑ์ค 10814] ๋์ด์ ์ ๋ ฌํ๊ธฐ (0) | 2019.10.29 |