๐Ÿ–ค Algorithm/CodeUp : C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ

[์ฝ”๋“œ์—… CodeUp] C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ 1096๋ฒˆ ~ 1099๋ฒˆ ํ’€์ด

์˜ˆ์ง„-D 2021. 9. 20. 10:34

๐Ÿ“Œ ๋น ๋ฅธ ๋ฐ”๋กœ๊ฐ€๊ธฐ 

 

 

 

๐Ÿ“ ์ง€๋‚œ ๊ธ€

2021.09.19 - [๐Ÿ–ค Algorithm/CodeUp : C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ] - [์ฝ”๋“œ์—… CodeUp] C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ 1093๋ฒˆ ~ 1095๋ฒˆ ํ’€์ด

 

[์ฝ”๋“œ์—… CodeUp] C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ 1093๋ฒˆ ~ 1095๋ฒˆ ํ’€์ด

๐Ÿ“Œ ๋น ๋ฅธ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1093๋ฒˆ 1094๋ฒˆ 1095๋ฒˆ ๐Ÿ“ ์ง€๋‚œ ๊ธ€ 2021.09.14 - [๐Ÿ–ค Algorithm/CodeUp : C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ] - [์ฝ”๋“œ์—… CodeUp] C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ 1089๋ฒˆ ~ 1092๋ฒˆ ํ’€์ด [์ฝ”๋“œ์—… CodeUp] C์–ธ์–ด ๊ธฐ์ดˆ 100์ œ 1089..

hyj3463.tistory.com

 

 

 

์•„๋ž˜ ์ฝ”๋“œ๋“ค์€ ์ œ ๊นƒํ—ˆ๋ธŒ์—์„œ๋„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :-)

์ด ํฌ์ŠคํŒ…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฝ”๋“œ์—… ๊ธฐ์ดˆ100์ œ C์–ธ์–ด๋Š” ๋งˆ๋ฌด๋ฆฌ๋ฉ๋‹ˆ๋‹ค!

https://github.com/YejinHwang-D/Algorithm_CodeUp 

 

GitHub - YejinHwang-D/Algorithm_CodeUp: Code-up basic 100 answer using C

Code-up basic 100 answer using C. Contribute to YejinHwang-D/Algorithm_CodeUp development by creating an account on GitHub.

github.com

 

 


 

codeup.kr/problemsetsol.php

 

๋ฌธ์ œ์ง‘

 

codeup.kr

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์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๊ฒŒ ๋ถ€๋„๋Ÿฝ๋„ค์š”. ๐Ÿ˜‚