코드업 C언어 기초 100제

코드업 C언어 기초 100제 풀어보기 ! 

 

문제집

 

codeup.kr


1001. 출력하기01

#include <stdio.h>

int main() {
    printf("Hello");
    return 0;
}

 

1002. 출력하기02

#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}

 

1003. 출력하기03

#include <stdio.h>

int main() {
    printf("Hello\nWorld");
    return 0;
}

 

1004. 출력하기04

#include <stdio.h>

int main() {
    printf("\'Hello\'");
    return 0;
}

 

1005. 출력하기05

#include <stdio.h>

int main() {
    printf("\"Hello World\"");
    return 0;
}

 

1006. 출력하기06

#include <stdio.h>

int main() {
    printf("\"!@#$%%^&*()\"");
    return 0;
}

 

1007. 출력하기07

#include <stdio.h>

int main() {
    printf("\"C:\\Download\\hello.cpp\"");
    return 0;
}

 

1008. 출력하기08

#include <stdio.h>

int main() {
    printf("\u250C\u252C\u2510\n");
    printf("\u251C\u253C\u2524\n");
    printf("\u2514\u2534\u2518\n");  
    
    return 0;
}

 

1010. 정수 1개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%d", n);

    return 0;
}

 

1011. 문자 1개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    char c;
    scanf("%c", &c);
    printf("%c", c);

    return 0;
}

 

1012. 실수 1개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    float f;
    scanf("%f", &f);
    printf("%f", f);

    return 0;
}

 

1013. 정수 2개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d %d", a, b);

    return 0;
}

 

1014. 문자 2개 입력받아 순서 바꿔 출력하기

공백 주의!!
#include <stdio.h>

int main() {
    char a, b;
    scanf("%c %c", &a, &b);
    printf("%c %c", b, a);

    return 0;
}

 

1015. 실수 입력받아 둘째 자리까지 출력하기

#include <stdio.h>

int main() {
    float x;
    scanf("%f", &x);
    printf("%.2f", x);

    return 0;
}

 

1017. 정수 1개 입력받아 3번 출력하기

#include <stdio.h>

int main() {
    int x;
    scanf("%d", &x);
    printf("%d %d %d", x, x, x);

    return 0;
}

 

1018. 시간 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    int h, m;
    scanf("%d:%d", &h, &m);
    printf("%d:%d", h, m);

    return 0;
}

 

1019. 연월일 입력받아 그대로 출력하기

자릿수 주의!!
#include <stdio.h>

int main() {
    int y, m, d;
    scanf("%d.%d.%d", &y, &m, &d);
    printf("%04d.%02d.%02d", y, m, d);
    
    return 0;
}

 

1020. 주민번호 입력받아 형태 바꿔 출력하기

#include <stdio.h>

int main() {
    int f, b;
    scanf("%d-%d", &f, &b);
    printf("%06d%07d", f, b);
    
    return 0;
}

 

1021. 단어 1개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    char x[51];
    scanf("%s", &x);
    printf("%s", x);
    
    return 0;
}

 

1022. 문장 1개 입력받아 그대로 출력하기

#include <stdio.h>

int main() {
    char str[2001];
    fgets(str, 2000, stdin);
    printf("%s", str);
    
    return 0;
}

 

1023. 실수 1개 입력받아 부분별로 출력하기

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d.%d", &a, &b);

    printf("%d\n", a);
    printf("%d", b);
    
    return 0;
}

 

1024. 단어 1개 입력받아 나누어 출력하기

' 와 " 의 사용법에 주의!!
#include <stdio.h>

int main() {
    char str[21];
    scanf("%s", &str);

    for (int i = 0; str[i] != '\0'; i++) {
        printf("\'%c\'\n", str[i]);
    }
    
    return 0;
}

 

1025. 정수 1개 입력받아 나누어 출력하기

#include <stdio.h>

int main() {
    int a, b, c, d, e;
    scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);

    printf("[%d]\n", a * 10000);
    printf("[%d]\n", b * 1000);
    printf("[%d]\n", c * 100);
    printf("[%d]\n", d * 10);
    printf("[%d]\n", e);
    
    return 0;
}

 

1026. 시분초 입력받아 분만 출력하기

#include <stdio.h>

int main() {
    int h, m, s;
    scanf("%d:%d:%d", &h, &m, &s);

    printf("%d", m);
    
    return 0;
}

 

1027. 년월일 입력받아 형식 바꿔 출력하기

#include <stdio.h>

int main() {
    int y, m, d;
    scanf("%d.%d.%d", &y, &m, &d);

    printf("%02d-%02d-%04d", d, m, y);
    
    return 0;
}

 

1028. 정수 1개 입력받아 그대로 출력하기2

#include <stdio.h>

int main() {
    unsigned int n;
    scanf("%u", &n);
    printf("%u", n);
    
    return 0;
}

 

1029. 실수 1개 입력받아 그대로 출력하기2

#include <stdio.h>

int main() {
    double f;
    scanf("%lf", &f);
    
    printf("%.11lf", f);
    return 0;
}

 

1030. 정수 1개 입력받아 그대로 출력하기3

#include <stdio.h>

int main() {
    long long int n;
    scanf("%lld", &n);
    printf("%lld", n);

    return 0;
}

 

1031. 10진 정수 1개 입력받아 8진수로 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%o", n);

    return 0;
}

 

1032. 10진 정수 입력받아 16진수로 출력하기1

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%x", n);

    return 0;
}

 

1033. 10진 정수 입력받아 16진수로 출력하기2

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%X", n);

    return 0;
}

 

1034. 8진 정수 1개 입력받아 10진수로 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%o", &n);
    printf("%d", n);

    return 0;
}

 

1035. 16진 정수 1개 입력받아 8진수로 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%x", &n);
    printf("%o", n);

    return 0;
}

 

1036. 영문자 1개 입력받아 10진수로 출력하기

#include <stdio.h>

int main() {
    char c;
    scanf("%c", &c);
    printf("%d", c);

    return 0;
}

 

1037. 정수 입력받아 아스키 문자로 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%c", n);

    return 0;
}

 

1038. 정수 2개 입력받아 합 출력하기1

#include <stdio.h>

int main() {
    long a, b;
    scanf("%ld %ld", &a, &b);
    printf("%ld", a + b);

    return 0;
}

 

1039. 정수 2개 입력받아 합 출력하기2

#include <stdio.h>

int main() {
    long long a, b;
    scanf("%lld %lld", &a, &b);
    printf("%lld", a + b);

    return 0;
}

 

1040. 정수 1개 입력받아 부호 바꿔 출력하기

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    printf("%d", -n);

    return 0;
}

 

1041. 문자 1개 입력받아 다음 문자 출력하기

#include <stdio.h>

int main() {
    char c;
    scanf("%c", &c);
    printf("%c", c + 1);

    return 0;
}

 

1042. 정수 2개 입력받아 나눈 몫 출력하기

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", a / b);

    return 0;
}

 

1043. 정수 2개 입력받아 나눈 나머지 출력하기

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", a % b);

    return 0;
}

 

 

1044. 정수 1개 입력받아 1 더해 출력하기

#include <stdio.h>

int main() {
    long n;
    scanf("%ld", &n);
    printf("%ld", ++n);

    return 0;
}

 

 

1045. 정수 2개 입력받아 자동 계산하기

#include <stdio.h>

int main() {
    long a, b;
    
    scanf("%ld %ld", &a, &b);
    printf("%ld\n", a + b);
    printf("%ld\n", a - b);
    printf("%ld\n", a * b);
    printf("%ld\n", a / b);
    printf("%ld\n", a % b);
    printf("%.2f", (float)a / (float)b);
    
    return 0;
}

 

1046. 정수 3개 입력받아 합과 평균 출력하기

#include <stdio.h>

int main() {
    long a, b, c;
    
    scanf("%ld %ld %ld", &a, &b, &c);
    printf("%ld\n", a + b + c);
    printf("%.1f", (float)(a + b + c) / 3);

    return 0;
}

 

1047. 정수 1개 입력받아 2배 곱해 출력하기

#include <stdio.h>

int main() {
    int a;
    
    scanf("%d", &a);
    printf("%d", a<<1);

    return 0;
}

 

1048. 한 번에 2의 거듭제곱 배의 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a<<b);

    return 0;
}

 

1049. 두 정수 입력받아 비교하기1

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a > b);

    return 0;
}

 

1050. 두 정수 입력받아 비교하기2

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a == b);

    return 0;
}

 

1051. 두 정수 입력받아 비교하기3

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a <= b);

    return 0;
}

 

1052. 두 정수 입력받아 비교하기4

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a != b);

    return 0;
}

 

1053. 참 거짓 바꾸기

#include <stdio.h>

int main() {
    int a;
    
    scanf("%d", &a);
    printf("%d", !a);

    return 0;
}

 

1054. 둘 다 참일 경우만 참 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a && b);

    return 0;
}

 

1055. 하나라도 참이면 참 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a || b);

    return 0;
}

 

1056. 참/거짓이 서로 다를 때에만 참 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", ((!a&&b) || (a&&!b)));

    return 0;
}

 

1057. 참/거짓이 서로 같을 때에만 참 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a == b);

    return 0;
}

 

1058. 둘 다 거짓일 경우만 참 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", (a == 0) && (b == 0));

    return 0;
}

 

1059. 비트 단위로 NOT하여 출력하기

#include <stdio.h>

int main() {
    int a;
    
    scanf("%d", &a);
    printf("%d", ~a);

    return 0;
}

 

1060. 비트단위로 AND하여 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a & b);

    return 0;
}

 

1061. 비트단위로 OR하여 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a | b);

    return 0;
}

 

1062. 비트단위로 XOR하여 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a ^ b);

    return 0;
}

 

1063. 두 정수 입력받아 큰 수 출력하기

#include <stdio.h>

int main() {
    int a, b;
    
    scanf("%d %d", &a, &b);
    printf("%d", a > b ? a : b);

    return 0;
}

 

1064. 정수 3개 입력받아 가장 작은 수 출력하기

#include <stdio.h>

int main() {
    int a, b, c;
    
    scanf("%d %d %d", &a, &b, &c);
    printf("%d", ((a > b) ? b : a) < c ? ((a > b) ? b : a): c);

    return 0;
}

 

1065. 정수 3개 입력받아 짝수만 출력하기

#include <stdio.h>

int main() {
    int a, b, c;
    
    scanf("%d %d %d", &a, &b, &c);
    if (!(a % 2)) {
        printf("%d\n", a);
    }
    
    if (!(b % 2)) {
        printf("%d\n", b);
    }
    
    if (!(c % 2)) {
        printf("%d\n", c);
    }

    return 0;
}

 

1066. 정수 3개 입력받아 짝/홀 출력하기

#include <stdio.h>

int main() {
    int a, b, c;
    
    scanf("%d %d %d", &a, &b, &c);
    if (!(a % 2)) {
        printf("even\n");
    } else {
        printf("odd\n");
    }
    
    if (!(b % 2)) {
        printf("even\n");
    } else {
        printf("odd\n");
    }
    
    if (!(c % 2)) {
        printf("even\n");
    } else {
        printf("odd\n");
    }

    return 0;
}

 

1067. 정수 1개 입력받아 분석하기

#include <stdio.h>

int main() {
    int a;
    
    scanf("%d", &a);
    
    if (a > 0) {
        printf("plus\n");
    } else {
        printf("minus\n");
    }
    
    if (a % 2) {
        printf("odd");
    } else {
        printf("even");
    }

    return 0;
}

 

1068. 정수 1개 입력받아 평가 출력하기

#include <stdio.h>

int main() {
    int a, b, c;
    
    scanf("%d", &a);
    
    if (a >= 90) {
        printf("A\n");
    } else {
        if (a >= 70) {
            printf("B\n");
        } else {
            if (a >= 40) {
                printf("C\n");
            } else {
                printf("D\n");
            }
        }
    }
    

    return 0;
}

 

1069. 평가 입력받아 다르게 출력하기

#include <stdio.h>

int main() {
    char s;
    
    scanf("%c", &s);
    
    switch(s) {
        case 'A':
            printf("best!!!");
            break;
        case 'B':
            printf("good!!");
            break;
        case 'C':
            printf("run!");
            break;
        case 'D':
            printf("slowly~");
            break;
        default:
            printf("what?");
    }
    

    return 0;
}

 

1070. 월 입력받아 계절 출력하기

#include <stdio.h>

int main() {
    int n;
    
    scanf("%d", &n);
    
    switch(n) {
        case 12:
        case 1:
        case 2:
            printf("winter");
            break;
        case 3:
        case 4:
        case 5:
            printf("spring");
            break;
        case 6:
        case 7:
        case 8:
            printf("summer");
            break;
        default:
            printf("fall");
    }

    return 0;
}

 

1071. 0 입력될때까지 무한 출력하기1

#include <stdio.h>

int main() {
    int n;
    
     re:
        scanf("%d", &n);
        
        if (n != 0) {
            printf("%d\n", n);
            goto re;
        }

    return 0;
}

 

1072. 정수 입력받아 계속 출력하기

n-- 으로 판단하면 안됨 주의!
#include <stdio.h>

int main() {
    int n, m;
    
    scanf("%d", &n);
    
    re:
        scanf("%d", &m);
        printf("%d\n", m);
        
        if (--n != 0) goto re;
    
    return 0;
}

 

1073. 0 입력될때까지 무한 출력하기2

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    
    while (n != 0) {
        printf("%d\n", n);
        scanf("%d", &n);
    }
    
    return 0;
}

 

1074. 정수 1개 입력받아 카운트다운 출력하기1

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    
    while (n > 0) {
        printf("%d\n", n--);
    }
    
    return 0;
}

 

1075. 정수 1개 입력받아 카운트다운 출력하기2

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    
    while (n-- > 0) {
        printf("%d\n", n);
    }
    
    return 0;
}

 

1076. 문자 1개 입력받아 알파벳 출력하기

#include <stdio.h>

int main() {
    char c, s;
    s = 'a';
    scanf("%c", &c);
    
    do {
        printf("%c\n", s);
        s++;
    }
    while (s <= c); 
    
    return 0;
}

 

1077. 정수 1개 입력받아 그 수까지 출력하기

#include <stdio.h>

int main() {
    int i, n;
    
    scanf("%d", &n);
    
    for (i = 0; i <= n; i++) {
        printf("%d\n", i);
    }
    
    return 0;
}

 

1078. 짝수 합 구하기

#include <stdio.h>

int main() {
    int i, n, ans = 0;
    scanf("%d", &n);
    
    for (i = 2; i <= n; i += 2) {
        ans += i;
    }
    
    printf("%d", ans);
}

 

1079. 원하는 문자가 입력될 때까지 반복 출력하기

#include <stdio.h>

int main() {
    char c;

    do {
        scanf("%c ", &c);
        printf("%c\n", c);
    }
    while (c != 'q');
    
    return 0;
}

 

1080. 언제까지 더해야 할까?

#include <stdio.h>

int main() {
    int i, n, a = 0;
    
    scanf("%d", &n);
    
    for (i = 1; a < n; i++) {
        a += i;
    }
    
    printf("%d", i - 1);
    
    return 0;
}

 

1081. 주사위를 2개 던지면?

#include <stdio.h>

int main() {
    int i, j, n, m;
    
    scanf("%d %d", &n, &m);
    
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= m; j++) {
            printf("%d %d", i, j);
            printf("\n");
        }
    }
    
    return 0;
}

 

1082. 16진수 구구단?

#include <stdio.h>

int main() {
    int n, i;
    
    scanf("%x", &n);
    
    for (int i = 1; i < 16; i++) {
        printf("%X%c%X%c%X\n", n, '*', i, '=', n * i);
    }

    return 0;
}

 

1083. 3 6 9 게임의 왕이 되자!

#include <stdio.h>

int main() {
    int n;
    
    scanf("%d", &n);
    
    for (int i = 1; i <= n; i++) {
        if (i % 3 == 0) {
            printf("%c ", 'X');
        } else {
            printf("%d ", i);
        }
    }

    return 0;
}

 

1084. 빛 섞어 색 만들기

#include <stdio.h>

int main() {
    int r, g, b, i, j, k, cnt = 0;
    
    scanf("%d %d %d", &r, &g, &b);
    
    for (int i = 0; i < r; i++) {
        for (int j = 0; j < g; j++) {
            for (int k = 0; k < b; k++) {
                printf("%d %d %d\n", i, j, k);
                cnt++;
            }
        }
    }
    
    printf("%d", cnt);
    

    return 0;
}

 

1085. 소리 파일 저장용량 계산하기

#include <stdio.h>

int main() {
    float h, b, c, s;
    
    scanf("%f %f %f %f", &h, &b, &c, &s);

    printf("%.1f %s", (h * b * c * s) / 1024 / 8 / 1024, "MB");

    return 0;
}

 

1086. 그림 파일 저장용량 계산하기

#include <stdio.h>

int main() {
    float r, g, b;
    
    scanf("%f %f %f", &r, &g, &b);
    printf("%.2f %s", (r * g * b) / 1024 / 1024 /8, "MB");

    return 0;
}

 

1087. 여기까지! 이제 그만~

#include <stdio.h>

int main() {
    int i, n, s = 0;
    
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        if (s >= n) {
            break;
        } else {
            s += i;
        }
    }
    
    printf("%d", s);

    return 0;
}

 

1088. 3의 배수는 통과?

#include <stdio.h>

int main() {
    int i, n;
    
    scanf("%d", &n);

    for (i = 1; i <= n; i++) {
        if (i % 3 != 0) {
            printf("%d ", i);
        }
    }

    return 0;
}

 

1089. 수 나열하기 1

#include <stdio.h>

int main() {
    int a, d, n;
    
    scanf("%d %d %d", &a, &d, &n);

    printf("%d", a + (d * (n - 1)));

    return 0;
}

 

1090. 수 나열하기2

수의 범위에 주의
#include <stdio.h>

int main() {
    long i, a, r, n;
    
    scanf("%ld %ld %ld", &a, &r, &n);

    for (int i = 1; i < n; i++) {
        a *= r;
    }
    printf("%ld", a);

    return 0;
}

 

1091. 수 나열하기3

#include <stdio.h>

int main() {
    long i, a, m, d, n;
    
    scanf("%ld %ld %ld %ld", &a, &m, &d, &n);

    for (int i = 1; i < n; i++) {
        a = a * m + d;
    }
    printf("%ld", a);

    return 0;
}

 

1092. 함께 문제 푸는 날

#include <stdio.h>

int main() {
    int n = 0, a, b, c;
    
    scanf("%d %d %d", &a, &b, &c);

    do {
        n += a;
    }
    while (n % b != 0 || n % c != 0);
    
    printf("%d", n);

    return 0;
}

 

1093. 이상한 출석번호 부르기1

#include <stdio.h>

int main() {
    int i, n, c;
    int arr[24] = {};
    
    scanf("%d", &n);
    
    for (i = 0; i < n; i++) {
        scanf("%d", &c);
        arr[c] += 1;
    }
    
    for (i = 1; i <= 23; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

 

1094. 이상한 출석번호 부르기2

#include <stdio.h>

int main() {
    int n, c;
    scanf("%d", &n);
    
    int arr[10000] = {};
    
    
    for (int i = 0; i < n; i++) {
        scanf("%d", &c);
        arr[i] = c;
    }
    
    for (int i = n - 1; i >= 0; i--) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

 

1095. 이상한 출석번호 부르기3

#include <stdio.h>

int main() {
    int n, c, a = 25;
    scanf("%d", &n);
    
    
    for (int i = 0; i < n; i++) {
        scanf("%d", &c);
        if (c < a) {
            a = c;
        }
    }

    printf("%d", a);
    
    return 0;
}

 

1096. 바둑판에 흰 돌 놓기

#include <stdio.h>

int main() {
    int n, x, y;
    scanf("%d", &n);
    
    int arr[20][20] = {};
    
    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;
}

 

1097. 바둑알 십자 뒤집기

#include <stdio.h>

int main() {
    int arr[20][20] = {};
    int n; // 뒤집기 횟수
    
    for (int i = 1; i <= 19; i++) {
        for (int j = 1; j <= 19; j++) {
            scanf("%d", &arr[i][j]);
        }
    }

    scanf("%d", &n);
    
    while (n > 0) {
        int a, b;   // x좌표, y좌표 
        scanf("%d %d", &a, &b);

        for (int k = 1; k <= 19; k++) {
            arr[a][k] = abs(arr[a][k] - 1);
            arr[k][b] = abs(arr[k][b] - 1);
        }
        n--;
    }
    
    for (int i = 1; i <= 19; i++) {
        for (int j = 1; j <= 19; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}

 

1098. 설탕과자 뽑기

#include <stdio.h>

int main() {
    int h, w, n, l, d, x, y;
    
    scanf("%d %d", &h, &w);     // 세로, 가로
    scanf("%d", &n);    // 막대의 개수
    
    int arr[101][101] = {};
    
    for (int i = 0; i < n; i++) {
        scanf("%d %d %d %d", &l, &d, &x, &y);
        if (d == 0) {   // 가로로 놓는 경우
            for (int k = 0; k < l; k++) {
                arr[x][y + k] = 1;
            }
        } else {    // 세로로 놓는 경우 
            for (int k = 0; k < l; k++) {
                arr[x + k][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;
}

 

1099. 성실한 개미 

#include <stdio.h>

int main() {
    int maze[11][11] = {};
    int tf = 1;
    int x = 2;
    int y = 2;
    
    for (int i = 1; i <= 10; i++) {
        for (int j = 1; j <= 10; j++) {
            scanf("%d", &maze[i][j]);
        }
    }
    
    while (tf == 1) {
        // 종료조건
        // 먹이를 찾은 경우 / 끝에 도착한 경우
        if (maze[x][y] == 2 || x == 10 && y == 10) {
            maze[x][y] = 9;
            break;
        }
        
        if (x == 10 || y == 10) {
            break;
        }
        maze[x][y] = 9;
        
        // 오른쪽으로 가는 경우
        if (maze[x][y + 1] != 1) {
            y++;
            continue;
        } else {
            x++;
            continue;
        }
    }
    
    for (int i = 1; i <= 10; i++) {
        for (int j = 1; j <= 10; j++) {
            printf("%d ", maze[i][j]);
        }
        printf("\n");
    }

    return 0;
}

codeup

 

'TIL' 카테고리의 다른 글

[Docker] Docker 기본 개념  (0) 2024.01.09
Docker Container  (1) 2024.01.05
WebSquare 2 - 개요  (0) 2023.08.01
IT 전체 영역 큰 그림 보기  (0) 2023.07.05
객체지향 설계 5원칙 - SOLID  (0) 2023.07.04