티스토리 뷰

728x90

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

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

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

「1216번 문제」

입력:입력으로 세 정수가 입력된다. 첫 번째 정수는 홍보를 하지 않을 경우 수입, 두 번째 정수는 홍보를 할 경우의 수입, 세 번째 정수는 홍보비용을 의미한다.

출력:홍보를 하는 경우가 유리하면 "advertise"그렇지 않은 경우가 유리하면 "do not advertise"그것도 아니면 홍보를 하든 안 하든 별 관계가 없으면 "does not matter"를 출력하시오.

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(){
    int a,b,c,d,e,f;
    
    scanf("%d %d %d"&a, &b, &c);
    
    if(a > b - c) printf("do not advertise");      //a가 b-c보다 작으면 do not advertise를 출력
    if(a == b - c) printf("does not matter");      //a가 b-c와 같으면 does not matter을 출력
    if(a < b-c) printf("advertise");               //a가 b-c보다 작으면 advertise을 
    
}
cs

「1218번 문제」

입력:변의 길이 a, b, c가 입력된다. ( 정수) 여기서 입력되는 변의 관계는 a ≤ b ≤ c 이다. 

출력:세 변의 길이가 같은 경우-정삼각형 두 변의 길이가 같은 경우-이등변삼각형a2 + b2 = c2일 경우(피타고라스 정리) -직각삼각형  위의 조건에 맞지 않는 일반 삼각형일 경우 - 삼각형  삼각형이 아닐 경우 - 삼각형아님을 출력한다.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
 
int main(){
    int a,b,c,d,e,f;
    
    scanf("%d %d %d"&a, &b, &c);
    
    if(a > b && a > c){                                                          //a가 가장 길때
        if(a < b + c){                                                           //a가 b+c 보다 작을때(삼각형의 조건)
            if(a == b && a == c){                                                //a,b,c가 모두 같을때
                printf("정삼각형 ");                                             //정삼각형을 출력
            }else if(b*+ c*== a*a){                                          //b^2 + c^2 = a^2일때(a가 가장 길이가 길기때문)
                printf("직각삼각형");                                             //직각삼각형
            }else if(b == c){                                                    //b와 c의 길이가 같을때(a는 b,c보다 크므로 b,c가 같을때만 구함)
            printf("이등변삼각형");                                              //이등변 삼각형을 출력
            }else printf("삼각형");                                              //위의 모든 조건이 아니면 삼각형을 출력
        }else
            printf("삼각형아님");                                                //a<b+c가 아니라면 삼각형아님을 출력
        }
    }
    if(b > a && b > c){                                                          //b가 가장 길때
        if(b < a + c){
            if(a == b && a == c){
                printf("정삼각형 ");
            }else if(a*+ c*== b*b){
                printf("직각삼각형");    
            }else if(a==c){
                printf("이등변삼각형");
            }else printf("삼각형");
        }else{
            printf("삼각형아님");
        }
    } 
    if(c > a && c > b){                                                           //c가 가장 길때
        if(c < a + b){
            if(a == b && a == c){
                printf("정삼각형 ");
            }else if(a*+ b*== c*c){
                printf("직각삼각형");    
            }else if(a == b){
            printf("이등변삼각형");
            }else printf("삼각형");
        }else{
            printf("삼각형아님");
        }
    }
    if(a == b && a == c) {                                                         //a,b,c가 모두 같을때(a,b,c중 길이가 같은것이 가장 클때)
        printf("정삼각형");    
}else if((a == b && a > c)||( b == c && b > a)||(a == c && a > b)){                //a,b,c중 a,b가 같고c보다 클때, b,c가 같고 a보다 클때, a,c가 b보다 클때
        printf("이등변삼각형");
        }
}
cs

※이 경우는 a,b,c의 대소 관계를 모를 때 짠 코드입니다. 매우 비효율적일 수 있으며, 처음에 a, b, c의 대소 관계를 정렬해줄 시 훨씬 간결해집니다.※

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,f;
 
    scanf("%d %d %d",&a, &b, &c);
 
    if (a+<= c) printf("삼각형아님");
    else if (a==&& b==c) printf("정삼각형");
    else if (a==|| b==c) printf("이등변삼각형");
    else if (a*+ b*== c*c) printf("직각삼각형");
    else printf("삼각형");
 
}
cs

※이 코드는 a,b,c의 대소관계가 정해져있는 경우입니다. (문제에서 a,b,c의 대소관계를 정해주었습니다.  )                  너무 간결해졌네요.


「1222번 문제」

입력:세 정수가 차례로 입력된다. ( 현재 경기 타임,  1반득점, 2반득점 )

출력:현재 경기타임에 축구의 신 성익이를 투입하여 1반이 이길 수 있으면 "win", 동점이 되면 "same", 투입해도 이기지 못하면 "lose"를 출력하시오.(성익이는 해당 시간에 1반에만 투입되며, 성익이가 투입되면 성익이 외에는 양팀 모두 골을 넣지 못한다.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main(){
    int a,b,c,d,e,f;
    int sum = 0;
    
    scanf("%d %d %d"&sum, &b, &c);
    
    do{                            //sum이 90이 될때까지 반복
        i = i + 1;                 
        sum = sum + 5;
    }while(sum < 90);
    
    if(b + i == c){                //현재 골b에 넣은 골i를 더한 값이 c와 같으면 
        printf("same");         
    }else if(b + i > c){           //현재 골b에 넣은 골i를 더한 값이 c보다 크면
        printf("win");
    }else if(b + i < c){           //현재 골b에 넣은 골i를 더한 값이 c보다 작으면
        printf("lose");
    }
    
}
cs

「1228번 문제」

입력:첫 줄에 로또 당첨번호 6개와 보너스 번호 1개가 주어진다. 둘째 줄에 주희가 가지고 있는 로또 번호 6개가 주어진다.

출력:주희의 당첨 결과를 출력한다.

출력방법) 1등 = 1 출력, 2등 = 2 출력, 3등 = 3 출력, 4등 = 4 출력, 5등 = 5 출력, 꽝 = 0 출력

등수 방법
1등 당첨번호 6개 일치
2등 당첨번호 5개 일치 + 보너스번호 일치
3등 5개 번호 일치
4등 4개 번호 일치
5등 3개 번호 일치
2개 이하 일치
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
#include <stdio.h>
 
int main(){
    int a[30],b=0,c,d,e,f,bonus;
    int aa[30],bb,cc,dd,ee,ff,bo;
    int num = 0;
    scanf("%d %d %d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&bonus);  
    scanf("%d %d %d %d %d %d",&aa[0],&aa[1],&aa[2],&aa[3],&aa[4],&aa[5]);
    
 
    for(c = 0; c < 6; c++){                                                    //0~5까지 반복 -c
        for(b =0; b<6; b++){                                                   //0~5까지 반복 -b
        if(a[b] == aa[c]){                                                     //a의 0~5[배열 인덱스]와 aa의 0~5[배열 인덱스]의 값이 같은 경우 num에 2를 더함
            num += 2;                
        }
        }    
        if(aa[c] == bonus){                                                    //aa의 0~5[배열 인덱스]가 bonus와 같을 경우 num에 1을 더함
            num += 1;
        }
    
    }
    if(num == 12printf("1");
    else if(num == 11printf("2");
    else if(num == 10printf("3");
    else if(num >=8printf("4");
    else if(num >=6printf("5");
    else printf("0");
}
 
cs

「1228번 문제」

입력:희윤이의 키와 몸무게가 공백을 기준으로 입력된다.(실수)

출력:희윤이의 비만도에 따른 등급을 출력한다.(설명 참조)

* 비만도 계산 공식(브로카의 공식)

항목 공식
표준몸무게 =  (실제 키 - 100) * 0.9
비만도 = 

(실제 몸무게 - 표준몸무게)  * 100 / 표준 몸무게

* 비만도에 따른 등급 판정

등급 비만도 수치
10 이하 정상
10~20 이하 과체중
20 초과 비만

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main(){
    int a,b,c,d;
    double fat;
    double ttt;
    double realweight;
    double weight;
    
    scanf("%lf %lf"&ttt, &realweight);
    double realweighttt = (ttt - 100* 0.9;
    weight = (realweight - realweighttt) * 100 / realweighttt;
    
    if(weight <= 10){
        printf("정상");
    }else if(weight <= 20){
        printf("과체중");
    }else{
        printf("비만");
    }
}
cs

 

※1217,1219~1221,1223~1225,1227번이 없는 관계로 1228번까지 포스팅하겠습니다.※

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함