스키마에듀 5/13

2023. 5. 12. 21:08스키마에듀 c언어 수업

728x90

https://www.acmicpc.net/problem/20205

 

20205번: 교수님 그림이 깨지는데요?

N x K 줄에 걸쳐, 늘어난 단색 비트맵 이미지의 픽셀 정보를 출력한다.

www.acmicpc.net

 

#include <stdio.h>
#include <stdlib.h>

int main(){

    int n, k;
    scanf("%d %d", &n, &k);
    
    int before[11][11]={0,};
    int after[101][101]={0,};

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d", &before[i][j]);
        }
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){

            for(int l=j*k; l<j*k +k ;l++){
                for(int m=i*k; m<i*k+k; m++){
                    
                    after[m][l] = before[i][j];
                }
            }
            
        }
    }

    for(int i=0;i<k*n;i++){
        for(int j=0;j<k*n;j++){
            printf("%d ", after[i][j]);
        }
        printf("\n");
    }

      return 0;
}


https://www.acmicpc.net/problem/2891

 

2891번: 카약과 강풍

첫째 줄에 팀의 수 N, 카약이 손상된 팀의 수 S, 카약을 하나 더 가져온 팀의 수 R이 주어진다. (2 ≤ N ≤ 10, 1 ≤ S, R ≤ N) 둘째 줄에는 카약이 손상된 팀의 번호가 주어진다. 팀 번호는 중복되지 않

www.acmicpc.net

 

#include <stdio.h>

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

    int list1[n];
    for (int i = 0; i < n; i++) {
        list1[i] = 1;
    }

    for (int i = 0; i < s; i++) {
        int x;
        scanf("%d", &x);
        list1[x-1] -= 1;
    }

    for (int i = 0; i < r; i++) {
        int x;
        scanf("%d", &x);
        list1[x-1] += 1;
    }

    for (int k = 0; k < n; k++) {
        if (list1[k] == 0) {
            if (k == 0) {
                if (list1[k+1] == 2) {
                    list1[k+1] = 1;
                    list1[k] = 1;
                }
            } else if (k == n-1) {
                if (list1[k-1] == 2) {
                    list1[k-1] = 1;
                    list1[k] = 1;
                }
            } else {
                if (list1[k-1] == 2) {
                    list1[k-1] = 1;
                    list1[k] = 1;
                    continue;
                }
                if (list1[k+1] == 2) {
                    list1[k+1] = 1;
                    list1[k] = 1;
                    continue;
                }
            }
        }
    }

    int count = 0;
    for (int i = 0; i < n; i++) {
        if (list1[i] == 0) {
            count++;
        }
    }

    printf("%d\n", count);

    return 0;
}

https://www.acmicpc.net/problem/2566

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net

 

#include <stdio.h>

int main() {
   int max =-1, x=0, y=0;
    int num[11][11]={0,};

    for(int i=1;i<=9;i++){
        for(int j=1;j<=9;j++){
            scanf("%d", &num[i][j]);

            if(num[i][j] > max){
                max = num[i][j];
                x = i;
                y = j;
            }
        }
    }

    printf("%d\n", max);
    printf("%d %d", x, y);

    return 0;
}

 

https://www.acmicpc.net/problem/10093

 

10093번: 숫자

두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

#include <stdio.h>

int main(void){
	
	long long int a, b;
	scanf("%lld %lld", &a, &b);
	if(a>b){
		long long int tmp = a;
		a = b;
		b=tmp;
	}
	
	if(a==b){
		printf("0");
		return 0;
	}
	
	printf("%lld\n", b-a-1);
	
	long long int i;
	for(i=a+1;i<b;i++){
		printf("%lld ",i);
	}

	return 0;
}

 

'스키마에듀 c언어 수업' 카테고리의 다른 글

스키마에듀 0527  (0) 2023.05.26
스키마에듀 5/20  (0) 2023.05.19
0505 스키마에듀 수업준비  (0) 2023.05.05
0429 스키마에듀 수업  (0) 2023.04.28
0422 스키마에듀 수업 (백준)  (0) 2023.04.20