공부하는 히욤이

[기초다지기] : 선택제어문 - 자가진단 본문

Algorithm/Jungol

[기초다지기] : 선택제어문 - 자가진단

히욤이 2019. 2. 25. 23:14

528 : 선택제어문 - 자가진단1

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 8000 회    시도횟수: 15582 회   



정수를 입력받아 첫 줄에 입력 받은 숫자를 출력하고 둘째 줄에 음수이면 “minus” 라고 출력하는 프로그램을 작성하시오.







-5
-5
minus



5
5






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
public class Main_528 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        
        if (a<0) {
            System.out.println(a);
            System.out.println("minus");
        } else {
            System.out.println(a);
        }
 
    }
 
}
 
cs











529 : 선택제어문 - 자가진단2

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 7181 회    시도횟수: 16780 회   



“몸무게+100-키”를 비만수치 공식이라고 하자.

키와 몸무게를 자연수로 입력받아 첫 번째 줄에 비만수치를 출력하고, 비만수치가 0보다 크면 다음줄에 비만("Obesity")이라는 메시지를 출력하는 프로그램을 작성하시오. (출력형식은 아래 출력 예를 참고하세요.)







155 60
5
Obesity











1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Main_529 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int height = sc.nextInt();
        int weight = sc.nextInt();
        
        if (weight+100-height>0) {
            System.out.println(weight+100-height);
            System.out.println("Obesity");
        }else {
            System.out.println(weight+100-height);
 
        }
    }
 
}
 
cs








530 : 선택제어문 - 자가진단3

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 7486 회    시도횟수: 12365 회   



나이를 입력받아 20살 이상이면 "adult"라고 출력하고 그렇지 않으면 몇 년후에 성인이 되는지를 "○ years later"라는 메시지를 출력하는 프로그램을 작성하시오.







18
2 years later



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Scanner;
 
public class Main_530 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int age = sc.nextInt();
 
        if (age >= 20) {
            System.out.println("adult");
        } else {
            System.out.println(20-age + " years later");
            
        }
    }
 
}
 
cs











531 : 선택제어문 - 자가진단4

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 6587 회    시도횟수: 13134 회   



복싱체급은 몸무게가 50.80kg 이하를 Flyweight 61.23kg 이하를 Lightweight, 72.57kg 이하를 Middleweight, 88.45kg 이하를 Cruiserweight, 88.45kg 초과를 Heavyweight라고 하자.

몸무게를 입력받아 체급을 출력하는 프로그램을 작성하시오.







87.3
Cruiserweight




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class Main_531 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        float weight = sc.nextFloat();
        
        if (weight<=50.80) {
            System.out.println("Flyweight");
        } else if (weight<61.23) {
            System.out.println("Lightweight");
        } else if (weight<72.57) {
            System.out.println("Middleweight");
        } else if (weight<88.45) {
            System.out.println("Cruiserweight");
        } else {
            System.out.println("Heavyweight");
        }
    }
 
}
 
cs






532 : 선택제어문 - 자가진단5

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 6853 회    시도횟수: 12311 회   



두 개의 실수를 입력받아 모두 4.0 이상이면 "A", 모두 3.0 이상이면 "B", 아니면 "C" 라고 출력하는 프로그램을 작성하시오.







4.3 3.5
B



4.0 2.9
C





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
public class Main_532 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        float a = sc.nextFloat();
        float b = sc.nextFloat();
        
        if (a>=4.0 && b>=4.0) {
            System.out.println("A");
        } else if (a>=3.0 && b>=3.0) {
            System.out.println("B");
        } else {
            System.out.println("C");
        }
 
    }
 
}
 
cs







533 : 선택제어문 - 자가진단6

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 5809 회    시도횟수: 12211 회   



남자는 'M' 여자는 'F'로 나타내기로 하고 18세 이상을 성인이라고 하자.

성별('M', 'F')과 나이를 입력받아 "MAN"(성인남자), "WOMAN"(성인여자), "BOY"(미성년남자), "GIRL"(미성년여자)을 구분하여 출력하는 프로그램을 작성하시오.







F 15
GIRL





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class Main_533 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String gender = sc.next();
        int age = sc.nextInt();
        
        if (gender.equals("M"&& age>=18) {
            System.out.println("MAN");
        } else if (gender.equals("M"&& age<18) {
            System.out.println("BOY");
        } else if (gender.equals("F"&& age>=18) {
            System.out.println("WOMAN");
        } else {
            System.out.println("GIRL");
        }
 
    }
 
}
 
cs







534 : 선택제어문 - 자가진단7

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 5503 회    시도횟수: 10821 회   



영문 대문자를 입력받아 

'A'이면 “Excellent”, 

'B'이면 “Good”, 

'C'이면 “Usually”, 

'D'이면 “Effort”, 

'F'이면 “Failure”, 

그 외 문자이면 “error” 라고 출력하는 프로그램을 작성하시오.







B
Good






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class Main_534 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        if (s.equals("A")) {
            System.out.println("Excellent");
        } else if (s.equals("B")) {
            System.out.println("Good");
        }  else if (s.equals("C")) {
            System.out.println("Usually");
        }  else if (s.equals("D")) {
            System.out.println("Effort");
        }  else if (s.equals("F")) {
            System.out.println("Failure");
        } else {
            System.out.println("error");
        }
    }
 
}
 
cs









535 : 선택제어문 - 자가진단8

제한시간: 1000 ms    메모리제한: 0 MB
해결횟수: 5377 회    시도횟수: 10832 회   



4.5 이하의 평점을 입력받아 그 값에 따라 다음과 같이 출력하는 프로그램을 작성하시오.

(C, C++, Java는 switch ~ case문 사용) (Python은 if ~ else사용)
단 입력는 0이상 4.5 이하이다.

 

4.0 이상 : "scholarship"
3.0 이상 : "next semester"
2.0 이상 : "seasonal semester"
2.0 미만 : "retake"​

 

>> 실수를 정수형(int)으로 변환하여 분기한다. (예 - switch( (int)score ))







3.5
next semester






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
import java.util.Scanner;
 
public class Main_535 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);    
        float grade = sc.nextFloat();
        
        switch ((int)grade) {
        case 4:
            System.out.println("scholarship");
            break;
            
        case 3:
            System.out.println("next semester");
            break;
            
        case 2:
            System.out.println("seasonal semester");
            break;
 
        default:
            System.out.println("retake");
            break;
        }
 
    }
 
}
 
cs





632 : 선택제어문 - 자가진단9

제한시간: 1000 ms    메모리제한: 128 MB
해결횟수: 4895 회    시도횟수: 7266 회   



3개의 정수를 입력받아 조건연산자를 이용하여 입력받은 수들 중 최소값을 출력하는 프로그램을 작성하시오.







18 -5 10
-5



두 수중 먼저 작은 값을 구한 후 나머지 수와 비교하여 구하면 된다.
예) min = (a < b) ? a : b; min = (min < c) ? min : c; 또는 아래 예와 같이 조건 연산자를 중첩하여 한 번에 구하는 방법도 있지만 식이 너무 복잡해지므로 참고는 하되 프로그램 작성할 때에는 가능한 쉬운 방법으로 작성할 것을 권장한다.





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
import java.util.Scanner;
 
public class Main_632 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int a = sc.nextInt();
        int b= sc.nextInt();
        int c = sc.nextInt();
 
        int min = 0;
 
        if (a<&& a<c) {
            min = a;
        } else if (b<&& b<a) {
            min =b;
        } else {
            min = c;
        }
        System.out.println(min);
    }
 
}
 
cs