๐ ๋น ๋ฅธ ๋ฐ๋ก๊ฐ๊ธฐ
๐ ์ง๋ ๊ธ
์๋ ์ฝ๋๋ค์ ์ ๊นํ๋ธ์์๋ ํ์ธํ์ค ์ ์์ต๋๋ค. :-)
์ด ํฌ์คํ ์ ๋ง์ง๋ง์ผ๋ก ์ฝ๋์ ๊ธฐ์ด100์ C์ธ์ด๋ ๋ง๋ฌด๋ฆฌ๋ฉ๋๋ค!
https://github.com/YejinHwang-D/Algorithm_CodeUp
1096๋ฒ๋ถํฐ 1099๋ฒ๊น์ง๋ 2์ฐจ์ ๋ฐฐ์ด ์์ ์ ๋๋ค. ์ญ์ ์์์ ๋ดค๋ ๋ด์ฉ๋ค์ด ๋ฐ๋ณตํด์ ๋์ต๋๋ค.
๐ก ์์ฃผ ์์ํ Tip
๋ฐ๋ณต๋๋ ์ฝ๋ ํํ์ ์ฝ๋ฉ ์คํ์ผ ์ค์ ์ ์ด์ฉํ๋ฉด ์๋์ผ๋ก ์ ๋ ฅํด์ค๋๋ค.
1096๋ฒ
์ถ๋ ฅ ์ค๋ช : 19X19 ๋ฐ๋ํ ํฐ๋ ์(1)/์(0) ์ถ๋ ฅ
#include <stdio.h>
int main() {
int n, x, y, arr[20][20]={0,};
scanf("%d", &n);
for (int i=0; i<n; i++) {
scanf("%d %d", &x, &y);
arr[x][y] = 1;
}
for (int i=1; i<=19; i++) {
for (int j=1; j<=19; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
์ธ๋ฑ์ค๋ฅผ 1~19 ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด ๋ฐ๋ํ ๋ฐฐ์ด์ [20][20]์ผ๋ก ์ ์ธํ๊ณ ๋ชจ๋ 0์ผ๋ก ์ด๊ธฐํํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ ๋ ฅ๋ n๋ฒ๋งํผ ์ขํ ํํ๋ก ๊ฐ์ 1๋ก ๋ณ๊ฒฝํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ 2์ฐจ์ ๋ฐฐ์ด์ ์ถ๋ ฅํ ๋๋ for ์ค์ฒฉ์ ์ฌ์ฉํด์ผ ํ๊ณ , ๊ฐ๋ก์ค ํ๋๊ฐ ์ถ๋ ฅ๋๋ฉด ํ์ ๋ฐ๊ฟ์ค์ผ ํ๋ฏ๋ก, ๊ฐํ ๋ฌธ์(\n)๋ฅผ ์ถ๋ ฅํด์ค๋๋ค.
1097๋ฒ
์ถ๋ ฅ ์ค๋ช : ๋ฐ๋ํ ์ญ์ ๋ค์ง๊ธฐ
#include <stdio.h>
int main() {
int i,j, arr[20][20], n, x, y;
for (i=1; i<=19; i++){ //๋ฐ๋ํ ์ํฉ
for (j=1; j<=19; j++)
scanf("%d", &arr[i][j]);
}
scanf("%d", &n); //ํ์ ์
๋ ฅ
for (i=0; i<n; i++) { //๋ค์ง๊ธฐ n๋ฒ ์
๋ ฅ
scanf("%d %d", &x, &y);
for (j=1; j<=19; j++) {
if (arr[x][j] == 1)
arr[x][j] = 0;
else
arr[x][j] = 1;
}
for (j=1; j<=19; j++) {
if (arr[j][y] == 1)
arr[j][y] = 0;
else
arr[j][y] = 1;
}
}
for (i=1; i<=19; i++){
for (j=1; j<=19; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
0์ผ๋ก ์ด๊ธฐํ ํ 1096๋ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ด๋ฒ ๋ฌธ์ ์์ ๋ฐ๋ํ์ ์ํฉ์ด ์ฃผ์ด์ง๋๋ค. ๋ฐ๋ผ์ ๊ฐ ์ธ๋ฑ์ค์ ๋ฐฉ๋ฌธํ๋ฉฐ 0 ๋๋ 1์ ์ ์ฅํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ ๋ ฅ๋ ๋ฐ๋ํ์์ ๋ค์ง๊ธฐ ํ์ n๋ฒ๋งํผ ์ ๋ ฅ๊ณผ ๋ค์ง๊ธฐ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ์ ๋ ฅ๋ x๋ ๊ฐ๋ก ํ์ค, y๋ ์ธ๋ก ํ ์ค์ ๋ค์ง์ผ๋ฉด ๋ฉ๋๋ค.
1098๋ฒ
์ถ๋ ฅ ์ค๋ช : ๊ฒฉ์ํ ๋ง๋ ์ฑ์ฐ๊ธฐ
#include <stdio.h>
int main() {
int arr[101][101]={0,}, h, w, n, l, d, x, y;
scanf("%d %d", &h, &w);
scanf("%d", &n);
for (int i=0; i<n; i++) {
scanf("%d %d %d %d", &l, &d, &x, &y);
if (d == 0) { //๋ฐฉํฅ์ด ๊ฐ๋ก๋ฉด
for (int j=y; j<y+l ;j++) {
arr[x][j] = 1;
}
}
else { //๋ฐฉํฅ์ด ์ธ๋ก๋ฉด
for (int j=x; j<x+l ;j++) {
arr[j][y] = 1;
}
}
}
for (int i=1; i<=h; i++) {
for (int j=1; j<=w; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
๊ฒฉ์ํ์ ์ต๋ 100๊น์ง ๊ฐ๋ฅํ๋ฏ๋ก ๊ทธ ์ด์ ํฌ๊ธฐ๋ก 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ธํด์ค๋๋ค.
์ ๋ ฅ๋ฐ์ ๋ง๋์ ๊ฐ์(n)๋งํผ ๋ฐ๋ณตํ๊ณ ๊ฐ๋ก๋ 0, ์ธ๋ก๋ 1์ด๋ฏ๋ก ๊ฐ ๋ฐฉํฅ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ขํ์์ ๋ง๋์ ๊ธธ์ด(l)๋ฅผ ๋ํ๋ฉด ๋ฉ๋๋ค.
๋ง์ฝ ๊ฐ๋ก๋ฐฉํฅ ๋ง๋๋ผ๋ฉด, x ์ขํ๋ ๊ณ ์ ์ด๊ณ y ์ขํ๋ง ๊ธธ์ด๋งํผ ์์ง์ด๋ฉฐ 1๋ก ๋ฐ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ๋ณต๋ฌธ ๋ํ a[i][j]์์ j ๊ฐ ๋ณํด์ผ ํฉ๋๋ค.
1099๋ฒ
์ถ๋ ฅ ์ค๋ช : ์ค๋ฅธ์ชฝ, ํน์ ์๋๋ก๋ง ์์ง์ด๋ ๊ฐ๋ฏธ ํ์
#include <stdio.h>
int main() {
int x=2, y=2;
int arr[11][11];
for (int i=1; i<=10; i++) //๋ฏธ๋ก ์์
for (int j=1; j<=10; j++)
scanf("%d", &arr[i][j]);
while (arr[x][y] != 2) {
arr[x][y] = 9;
if (arr[x][y+1] == 2) {
arr[x][y+1] = 9;
break;
}
else if (arr[x][y+1] == 0)
y++;
else if (arr[x+1][y] == 2) {
arr[x+1][y] = 9;
break;
}
else if (arr[x+1][y] == 0)
x++;
else
break;
}
arr[x][y] = 9;
for (int i=1; i<=10; i++) { //๋ฏธ๋ก ์์
for (int j=1; j<=10; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
์ฅ์ ๋ฌผ์ด 1๋ก ํ์๋ ์ง๋๊ฐ ๋ฐฐ์ด๋ก ์ ๋ ฅ๋ฉ๋๋ค. ๊ฐ์ฅ ํต์ฌ์ธ while๋ฌธ์ ํ์ฌ ์์น๊ฐ ๋ชฉ์ ์ง(2)๋ฉด break, ๋ชฉ์ ์ง๊ฐ ์๋๋ฉด ํ์ฌ ์์น๋ฅผ 9๋ก ์ค์ ํ๊ณ ์กฐ๊ฑด์ ๋ฐ์ง๋๋ค. if๋ฌธ์์๋ ์ค๋ฅธ์ชฝ์ ๋ชฉ์ ์ง๊ฐ ์์ผ๋ฉด ์ค๋ฅธ์ชฝ์ 9๋ก ๋ฐ๊พธ๊ณ ํ์ถํฉ๋๋ค. ์ฒซ ๋ฒ์งธ else if์์๋ ์ค๋ฅธ์ชฝ์ด ๋น์ด์์ ๋ ํ ์นธ ์ด๋ํ๊ณ , ๋ ๋ฒ์งธ else if์์๋ ์ค๋ฅธ์ชฝ์ด ๋งํ์๊ณ ์๋์ชฝ์ 2๊ฐ ์๋ ๊ฒฝ์ฐ ์ญ์ ๋ชฉ์ ์ง ์์น๋ 9๋ก ๋ฐ๊พธ๊ณ break ํฉ๋๋ค. ์ธ ๋ฒ์งธ else if๋ ์๋์ชฝ ๋น ๊ธธ๋ง ์์ ๋ ์๋๋ก ์ด๋ํฉ๋๋ค.
์ ๋ฐฉ๋ฒ์ ๋ฌธ์ ๋ฅผ ๋ง ํ๊ธฐ ์์ํ ๋ ํ์ด ์ฐ๋๋ผ ๊ธธ๊ฒ ์์ฑํ๋๋ฐ, ์๋์ฒ๋ผ ์์ฝํด์ ์์ฑํ ์ ์์ต๋๋ค.
#include <stdio.h>
int main() {
int x=2, y=2;
int arr[11][11];
for (int i=1; i<=10; i++) //๋ฏธ๋ก ์
๋ ฅ
for (int j=1; j<=10; j++)
scanf("%d", &arr[i][j]);
while (arr[x][y]!=2) {
arr[x][y] = 9;
if (arr[x][y+1] != 1)
y++;
else if (arr[x+1][y] != 1)
x++;
else
break;
}
arr[x][y] = 9;
for (int i=1; i<=10; i++) { //์ต์ข
์ถ๋ ฅ
for (int j=1; j<=10; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
0์ธ ๊ฒฝ์ฐ, 2์ธ ๊ฒฝ์ฐ๋ฅผ 1(์ฅ์ ๋ฌผ)์ด ์๋ ๊ฒฝ์ฐ๋ก ํฉ์น๊ณ , 2๋ฅผ ๋ง๋ฌ๊ฑฐ๋ ๋์ ๋๋ฌํ์ ๋ ํ์ถํ์ฌ ํ์ฌ ์์น๊น์ง 9๋ก ๋ง๋ค์ด์ฃผ๋ ์ฝ๋์ ๋๋ค. ์ฒ์๋ถํฐ ์ด๋ ๊ฒ ๊น๋ํ ์์ฑํ์ด์ผ ํ๋๋ฐ arr[x][y] != 1์ ์๊ฐํ์ง ๋ชปํ ๊ฒ ๋ถ๋๋ฝ๋ค์. ๐