티스토리 뷰

728x90

현 포스팅에서 설명하는 모든 문제는 codeup.kr 사이트에 있는 문제입니다. 여기 있는 문제 말고도 다양한 문제들이 준비되어 있으니 흥미 있으시다면 도전해보세요!

<codeup사이트란?> :알고리즘 관련 다양한 문제들을 풀면서 실력을 높일 수 있는 유용한 문제풀이 사이트

접속은 여기를 클릭해주세요. <codeup.kr>

「1271번 문제」

입력:첫째줄에 정수의 개수 N이 주어진다. (n<=1000)  둘째줄에 N개의 정수가 공백으로 분리되어 주어진다.  ( 0 <= 각각의 데이터 <=1000000 )

출력:N개의 정수 중 최대값을 찾아 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(){                          
    int a,b,c[1000],d,e;
    int max=0;                           //최댓값이 들어갈 변수
    
    scanf("%d"&a);                     //정수 1개를 입력받음
    for(b = 1; b <= a; b++){             //입력받은 수만큼 반복입력 받기 위한 반복문
        scanf("%d"&c[b]);              //정수를 입력받아 c의 배열에 저장
        }
    for(b = 1; b <= a; b++){            //최댓값을 판별하기 위한 반복문
        if(max <= c[b]){                //아까 입력받은 값이 max보다 크다면
            max  = c[b];                //그 값이 max
        }
    }
    printf("%d", max);
}
cs

「1272번 문제」

입력:한 줄에 k, h가 공백으로 분리되어 순서대로 입력된다.                                                                             (규칙:1, 10, 2, 20, 3, 30, 4, 40, 5, 50, 6, 60, 7, 70, 8, 80, 9, 90, 10, 100, 11, 110, 12, 120, ...)

출력:존과 밥이 받는 금액의 합을 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main(){
    int a,b,c,d,e;
    int x = 0,y,z;
    int k,h;
    
    scanf("%d"&k);
    scanf("%d"&h);
    
    if(k % 2 == 0){              //k가 짝수일 경우
        x = k * 5;               //그냥 5만 곱해서 x라는 변수에 저장
    }else{                       //k가 홀수일 경우
        x = (k + 1/ 2;          //k에1을 더한후 2로 나눈 값을 x에 저장
    }
    
    if(h % 2 ==0){               //위의 계산과 똑같음
        y = h * 5;
    }else{
        y = (h + 1/ 2;
    }
    
    z = x + y;
    
    printf("%d", z);
    
}
 
cs

「1273번 문제」

입력:자연수 N이 입력된다.( 1 <= N <= 10,000 )

출력:N의 약수를 오름차순으로 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(){
    int a,b,c,d,e;
    int x,y,z;
    
    scanf("%d"&a);
    
    for(x = 1; x <= a; x++){    //x의 값이1부터 입력받은 수가 될때까지 1씩 더해지면서 반복
        if(a % x == 0){         //계속 반복하던중 x의 값이 a의 약수이면(a를 x로 나눈 나머지가 0이면)
            printf("%d ", x);   //그때의 x값을 
        }
    }
 
cs

「1274번 문제」

입력:2이상의 자연수가 입력으로 주어진다.

출력:입력으로 주어진 수가 소수이면 "prime"을 출력, 소수가 아니면 "not prime"을 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
int main(){
    int a,b,c,d,e;
    int x,y,z = 0;
    int yesno = 0;                        //소수를 판별하기위한 값
    
    scanf("%d"&a);
    
    if(a == 2){                            //입력받은 값이 2라면
        printf("prime");
        yesno = 1;                        //yesno값에 1을 저장
    }else{
        for(x = 2; x < a; x++){            //x의 값을 2 ~ 입력받은 값 전까지 1씩 더해줌
            if(a % x == 0){                //반복하다가 x의 값이 a의 약수라면(a에 약수가 존재하는 것이므로)
                printf("not prime");    //not prime을 출력
                yesno = 1;                 //yesno값에 1을 저장
                break;                    //반복문을 깨줌(not prime이 여러번 출력되는것을 방지)
            }
        
        }
    }
    if(yesno == 0)printf("prime");         //위의 모든 조건문에 해당되지 않으면 prime을 
}
cs

「1275번 문제」

입력:공백을 기준으로 n과 k가 주어진다. (n은 0이 아닌 정수, k>=0)

출력:n^k의 결과를 출력한다. (n의 k승)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    int a,b,c=0,e,f=1;                 //f의 초깃값이 1인 이유는 k의 입력에서 0을 받았을 때
                                    //n^0승은 1로 출력되야 하기 때문이다.(k가0이면 for문이 돌아가지 않음)
    
    scanf("%d %d"&b, &e);            //b는 문제에서n, e는 문제에서k를 의미
    
    for(a = 1; a<=e; a++){             //a가 1부터 e(k)가 될때까지 반복
        f = f * b;                     //1번 반복될때마다 f값에 b(n)를 곱함
    }
    printf("%d", f);
}
 
   cs
  • 여기서 주석에있는 ()안에 있는 문자는 문제에서의 의미를 나타냅니다.
  • ex) e(k)는 코드에서 e라는 변수를 뜻하고, 문제에선 k를 의미합니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함