ProjectH4C 2기 Codeup 91 ~ 100

P4C

2020. 7. 19. 21:01

반응형

1090 : [기초-종합] 수 나열하기2

#include<stdio.h>
int main(){
    long long int a,b,c;
    scanf("%lld %lld %lld",&a,&b,&c);
    for(int j = 1; j <c; j++){
        a *= b; 
    }
    printf("%lld",a);
    return 0;
}

시작값에 등비값을 곱하고 저장하고 거기에 또 곱하고를 반복하다 출력한다.

1091 : [기초-종합] 수 나열하기3

#include<stdio.h>
int main(){
    int a, b, c, d, i;
    scanf("%d %d %d %d",&a,&b,&c,&d);
    for(i=1; i<d; i++){
        a = a * b + c;
    }
    printf("%d",a);
    return 0;
}

나열한 수를 곱한다은 더할값을 더해서 a에 계속 저장해준다.

1092 : [기초-종합] 함께 문제 푸는 날(설명)

#include<stdio.h>
int main(){
    int a, b, c, i=1;
    scanf("%d %d %d",&a,&b,&c);
    while(i%a!=0||i%b!=0||i%c!=0) i++;
    printf("%d",i);
    return 0;
}

간단하게 ||를 사용해주면 된다.

1093 : [기초-1차원배열] 이상한 출석 번호 부르기1(설명)

#include<stdio.h>
int main(){
    int a, b, i, j[24]={};
    scanf("%d",&a);
    for(i=1; i<=a; i++){
        scanf("%d ", &b);
        j[b]=j[b]+1;
    }
    for(i=1; i<=23; i++){
        printf("%d ", j[i]);
    }
    return 0;
}

공백을 두고 입력받기 위해 for문을 통해 scanf를 받았고, 배열을 만들어서 23까지의 번호를 입력받았다.

1094 : [기초-1차원배열] 이상한 출석 번호 부르기2(설명)

#include<stdio.h>
int main(){
    int a, b, i, j[10001]={};
    scanf("%d",&a);
    for(i=1; i<=a; i++){
        scanf("%d", &b);
        j[i]=b;
    }
    for(i=a; i>=1; i--){
        printf("%d ", j[i]);
    }
    return 0;
}

순서만 바꿔서 출력해주면 된다.

1095 : [기초-1차원배열] 이상한 출석 번호 부르기3(설명)

#include<stdio.h>
int main(){
    int a, b, c, i, j[10001]={};
    scanf("%d",&a);
    scanf("%d",&c);
    for(i=1; i<a; i++){
        scanf("%d", &b);
        if(c>b){
            c=b;
        }
    }
    printf("%d",c);
    return 0;
}

for문에서 if를 통해 작은 숫자만 저장되고, 다음 for문에서는 전에 저장했던 숫자와 비교하게 했다.

그렇게 나온 가장 작은 숫자가 출력된다.

1096 : [기초-2차원배열] 바둑판에 흰 돌 놓기(설명)

#include<stdio.h>
int a, b, i, j, n;
int map[20][20];

int main(){
    scanf("%d", &n);
    for(i=0; i<n; i++){
        scanf("%d%d", &a, &b);
        map[a][b] = 1;
    }
    for(i=1; i<=19; i++){
        for(j=1; j<=19; j++){
            printf("%d ", map[i][j]);
        }
        printf("\n");
    }
    return 0;
}

출력하는 부분 첫 for문이 한줄씩 위에서 아래로,

두번째 문이 한열씩 값을 출력하고 \n으로 줄을 바꾸게 되는 프로그램이다.

1097 : [기초-2차원배열] 바둑알 십자 뒤집기(설명)

#include<stdio.h>
 
int main()
{
    int a[20][20], x, y, i, j, n;
 
    for(i=1 ; i<=19 ; i++)
    {
        for(j=1 ; j<=19 ; j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
 
    scanf("%d",&n);
 
    for(i=1 ; i<=n ; i++)
    {
        scanf("%d %d",&x,&y);
        for(j=1 ; j<=19 ; j++)
        {
            if(a[x][j]==0) a[x][j]=1;
            else a[x][j]=0;
        }
 
        for(j=1 ; j<=19 ; j++)
        {
            if(a[j][y]==0) a[j][y]=1;
            else a[j][y]=0;
        }
    }
 
    for(i=1 ; i<=19 ; i++)
    {
        for(j=1 ; j<=19 ; j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
}

한줄씩 바둑판 상황을 입력받은 후 좌표개수를 입력받고,

입력받은 좌표의 개수만큼 가로줄(흑, 백)을 바꾸고,

세로줄 흑,백을 바꿔준 뒤 출력을 하게된다.

1098 : [기초-2차원배열] 설탕과자 뽑기

#include<stdio.h>
 
int main()
{
    int h, w, n, l, d, x, y, i, j;
    int a[101][101]={0};
    scanf("%d %d",&h,&w);
    scanf("%d",&n);
 
    for(i=1 ; i<=n ; i++)
    {
        scanf("%d %d %d %d",&l,&d,&x,&y);
        if(l==1)
            if(a[x][y]==0) a[x][y]=1;
        if(l!=1)
        {
            if(d==0)
                for(j=1 ; j<=l ; j++)
                    a[x][y+j-1]=1;
            else if(d==1)
                for(j=1 ; j<=l ; j++)
                    a[x+j-1][y]=1;
        }
    }
 
    for(i=1 ; i<=h ; i++)
    {
        for(j=1 ; j<=w ; j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
}

입력받은 격자판에 두번쨰, 3번째에서 받은 막대에서 가려진 막대에서 1, 안가려진건 0으로 출력하게 만들었다.

1099 : [기초-2차원배열] 성실한 개미

#include<stdio.h>
int main()
{
    int map[11][11],x=2,y=2,i,j;
    for(i=1;i<=10;i++)
        for(j=1;j<=10;j++)
            scanf("%d",&map[i][j]);
    while(map[x][y]!=2)
    {
        map[x][y]=9;
        if(map[x][y+1]!=1) y+=1;
        else if(map[x+1][y]!=1) x+=1;
        else break;
    }
    map[x][y]=9;
    for(i=1;i<=10;i++)
    {
        for(j=1;j<=10;j++)
            printf("%d ",map[i][j]);
        printf("\n");
    }
    return 0;
}

1010 크기로 입력을 받게 해주고

이동한 경로를 9로 출력해주었다.

 

반응형

'P4C' 카테고리의 다른 글

ProjectH4C 2기 코딩도장 Unit 35  (0) 2020.07.27
ProjectH4C 2기 코딩도장 Unit 34  (0) 2020.07.26
ProjectH4C 2기 Codeup 81 ~ 90  (0) 2020.07.19
ProjectH4C 2기 Codeup 71 ~ 80  (0) 2020.07.19
ProjectH4C 2기 Codeup 61 ~ 70  (0) 2020.07.17